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.
If you’re just scaling down nodes and plan to re-use them. Use Scaling overcloud roles
instead. For temporary issues with nodes, they can be blacklisted temporarily
This guide is specifically for removing nodes from the environment.
If your Compute node is still hosting VM’s, ensure they are migrated to another Compute node before continuing.
If you are using Provisioning Baremetal Before Overcloud Deploy 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>
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.
In Train, we added a user confirmation to the scale down command to prevent accidental node removal. To skip it, please use “–yes”.
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.
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.
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.