Scaling In your deployment by removing the pre-provisioned node
The procedure for removing edpm nodes from dataplane involves some manual cleanup steps after evacuation of workload.
For edpm compute nodes removal following steps should be performed. In this section we will remote the pre-provisioned compute with hostname edpm-compute-0
The first step is to migrate all existing virtual machines off the hypervisor that you plan to remove.
Disable nova-compute service
On the bastion, execute:
oc rsh openstackclient openstack compute service list
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
| 11105d9b-9ef7-4d6f-8d17-6eb8db175d76 | nova-conductor | nova-cell1-conductor-0 | internal | enabled | up | 2024-02-01T03:59:42.000000 |
| 31e2ee14-a124-4e02-b11d-87c2cdca3c56 | nova-compute | edpm-compute-1 | nova | enabled | up | 2024-02-01T03:59:38.000000 |
| bd031e6e-89d8-4839-b345-5f124ec4c07e | nova-compute | edpm-compute-0 | nova | enabled | up | 2024-02-01T03:59:37.000000 |
| 8a4622c3-0fb8-498a-81d8-a9c23c0be5fc | nova-conductor | nova-cell0-conductor-0 | internal | enabled | up | 2024-02-01T03:59:37.000000 |
| 5ad386ec-ac2d-4238-a671-d9402432d326 | nova-scheduler | nova-scheduler-0 | internal | enabled | up | 2024-02-01T03:59:38.000000 |
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
Disable the edpm-compute-0 so that this compute node can’t be scheduled:
oc rsh openstackclient openstack compute service set edpm-compute-0.ctlplane.aio.example.com nova-compute --disable
Stop ovn and nova-compute containers
From the hypervisor node, ssh to the edpm node to be removed and stop the containers:
ssh root@172.22.0.100
Stop the edpm_ovn_controller, edpm_ovn_metadata_agent and edpm_nova_compute service
sudo systemctl stop edpm_ovn_controller
sudo systemctl stop edpm_ovn_metadata_agent
sudo systemctl stop edpm_nova_compute
Delete network agents
Delete the agents for the compute nodes to be removed.
oc rsh openstackclient openstack network agent list
+--------------------------------------+------------------------------+-----------------------------------------+-------------------+-------+-------+----------------+
| ID | Agent Type | Host | Availability Zone | Alive | State | Binary |
+--------------------------------------+------------------------------+-----------------------------------------+-------------------+-------+-------+----------------+
| 1c5ada5e-4d97-41d6-a3a3-5f5083ca3a79 | OVN Controller Gateway agent | ocp4-worker3.aio.example.com | | :-) | UP | ovn-controller |
| 5d625cff-ff88-4355-961b-2d4a996449d8 | OVN Controller Gateway agent | ocp4-worker1.aio.example.com | | :-) | UP | ovn-controller |
| eb7c9e19-9d65-47cb-8616-2bf9cdeb2231 | OVN Controller Gateway agent | ocp4-worker2.aio.example.com | | :-) | UP | ovn-controller |
| 1de35214-b65f-481f-8a23-efda8531014f | OVN Controller agent | edpm-compute-0.ctlplane.aio.example.com | | :-) | UP | ovn-controller |
| e273d279-cd79-4605-954f-6bfac81b874a | OVN Controller agent | edpm-compute-1.ctlplane.aio.example.com | | :-) | UP | ovn-controller |
+--------------------------------------+------------------------------+-----------------------------------------+-------------------+-------+-------+----------------+
oc rsh openstackclient openstack network agent delete 1de35214-b65f-481f-8a23-efda8531014f
Delete nova-compute service
Delete nova-compute
service for the removed node.
oc rsh openstackclient openstack compute service list
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
| ID | Binary | Host | Zone | Status | State | Updated At |
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
| 11105d9b-9ef7-4d6f-8d17-6eb8db175d76 | nova-conductor | nova-cell1-conductor-0 | internal | enabled | up | 2024-02-01T03:59:42.000000 |
| 31e2ee14-a124-4e02-b11d-87c2cdca3c56 | nova-compute | edpm-compute-1 | nova | enabled | up | 2024-02-01T03:59:38.000000 |
| bd031e6e-89d8-4839-b345-5f124ec4c07e | nova-compute | edpm-compute-0 | nova | enabled | up | 2024-02-01T03:59:37.000000 |
| 8a4622c3-0fb8-498a-81d8-a9c23c0be5fc | nova-conductor | nova-cell0-conductor-0 | internal | enabled | up | 2024-02-01T03:59:37.000000 |
| 5ad386ec-ac2d-4238-a671-d9402432d326 | nova-scheduler | nova-scheduler-0 | internal | enabled | up | 2024-02-01T03:59:38.000000 |
+--------------------------------------+----------------+------------------------+----------+---------+-------+----------------------------+
oc rsh openstackclient openstack compute service delete 6d1e51a8-bf0d-4ae6-a54e-9c42e81f0e03
Check that the hypervisor list it doesn’t list the removed hypervisor:
oc rsh openstackclient openstack hypervisor list
+--------------------------------------+-----------------------------------------+-----------------+--------------+-------+
| ID | Hypervisor Hostname | Hypervisor Type | Host IP | State |
+--------------------------------------+-----------------------------------------+-----------------+--------------+-------+
| 7786670f-04f7-429c-a5ef-c5358e14cd3a | edpm-compute-1.ctlplane.aio.example.com | QEMU | 172.22.0.101 | up |
+--------------------------------------+-----------------------------------------+-----------------+--------------+-------+
Patch OpenStackDataPlaneNodeSet to remove node
Once the cleanup is complete, patch OpenStackDataPlaneNodeSet
CR to remove the
nodes from the nodes
section.
oc patch openstackdataplanenodeset/openstack-edpm-ipam --type json --patch '[{ "op": "remove", "path": "/spec/nodes/edpm-compute-0" }]'
openstackdataplanenodeset.dataplane.openstack.org/openstack-edpm-ipam patched
Scaling In by removing a NodeSet
If a full OpenStackDataPlaneNodeSet
has to be removed, steps mentioned
above to disable nova-compute
services, stop the ovn
and nova-compute
containers on nodes, delete network agents and delete nova-compute
services
should be done for each compute. Finally the OpenStackDataPlaneNodeSet
CR can
be deleted. If this OpenStackDataPlaneNodeSet
is the only one listing the
ssh-known-hosts
service, then this service needs to be added to one or more
of the remaining OpenStackDataPlaneNodeSets
. To remove the ssh host keys of
the removed nodes of this OpenStackDataPlaneNodeSet
from other nodes a new
OpenStackDataPlaneDeployment
needs to be created that points to all the
remaining OpenStackDataPlaneNodeSets
.