The process of quiescing a compute node means to migrate workload off the node
so that it can be shut down without affecting the availability of end-users’
VMs. You might want to perform this procedure when rebooting a compute node to
ensure that package updates are applied (e.g. after a kernel update); to
consolidate workload onto a smaller number of machines when scaling down an
overcloud; or when replacing the compute node hardware.

Assuming that the backing files for Nova VMs are not hosted on a shared storage
volume (with all compute nodes having access), the compute nodes will need to
be configured with ssh keys so that the nova user on each compute node has
ssh access to the corresponding account on the other compute nodes.

First, generate an ssh key:

ssh-keygen-trsa-fnova_id_rsa

Then, on each compute node, run the following script to set up the keys:

The current status of the migration process can be retrieved with the command:

novamigration-list

When migration of each VM completes, its state in Nova will change to
VERIFY_RESIZE. This gives you an opportunity to confirm that the migration
completed successfully, or to roll it back. To confirm the migration, use the
command:

novaresize-confirm<server-name>

Finally, once all migrations are complete and confirmed, remove the service
running (but disabled) on the compute node from Nova altogether:

novaservice-delete<service-id>

You are now free to reboot or shut down the node (using the Ironic API), or
even remove it from the overcloud altogether by scaling down the overcloud
deployment, see Deleting Overcloud Nodes.