Change-Id: Ia68d3469318dd423ceb0843c39d3ac2734a5f264
2.8 KiB
Deleting Overcloud Nodes
There may be situations where it's necessary to remove specific Compute nodes from the overcloud. In those situations, it is possible to remove specific nodes by following the process outlined in on this page.
Note
If you're just scaling down nodes and plan to re-use them. Use scale_roles
instead. For
temporary issues with nodes, they can be blacklisted temporarily using
DeploymentServerBlacklist
. This guide is specifically for
removing nodes from the environment.
Note
If your Compute node is still hosting VM's, ensure they are migrated to another Compute node before continuing.
Note
If you are using baremetal_provision
then follow those scale-down
instructions to call openstack overcloud node delete
with a
--baremetal-deployment
argument instead of passing a list
of nodes to delete as arguments.
To delete a specific node from the Overcloud. We use the following command:
openstack overcloud node delete --stack $STACK_NAME <hostname-of-compute-node>
Note
This command uses the hostnames as it's referring to nodes from the Ansible inventory. While there is currently a process to translate Nova UUID's to the hostname. This may be removed in future releases. As such, it is recommended to use the hostname instead of Nova UUIDs.
This command updates the heat stack with updated numbers and list of resource IDs (which represent nodes) to be deleted.
Train
In Train, we added a user confirmation to the scale down command to prevent accidental node removal. To skip it, please use "--yes".
Train
Starting in Train and onward, openstack overcloud node delete can take a list of server hostnames instead of instance ids. However they can't be mixed while running the command. Example: if you use hostnames, it would have to be for all the nodes to delete.
Note
Before deleting a compute node or a cephstorage node, please make
sure that the node is quiesced, see quiesce_compute
or quiesce_cephstorage
.
Note
You can generate the list of hostname in the Ansible inventory using:
. stackrc
tripleo-ansible-inventory --stack <STACK_NAME> --static-yaml-inventory overcloud-inv.yaml
This file will contain the Ansible inventory in use and help to identify the hostname that needs to be passed to the node delete command.
Note
Once the node deletion has completed. Be sure to decrement the node
count in your templates. For example, if removing a compute node, then
the ComputeCount:
value needs to be updated to reflect the
new correct number of nodes in the environment.