8.9. Migrating VMs from an Overcloud Compute Node

In some situations, you might perform maintenance on an Overcloud Compute node. To prevent downtime, migrate the VMs on the Compute node to another Compute node in the Overcloud using the following procedures.
The director configures all Compute nodes to provide secure migration. All Compute nodes also require a shared SSH key to provide each host's nova user with access to other Compute nodes during the migration process. The director creates this key automatically.

Important

The latest update of Red Hat OpenStack Platform 8 includes patches required for live migration capabilities. The director's core template collection did not include this functionality in the initial release but is now included in the openstack-tripleo-heat-templates-0.8.14-29.el7ost package and later versions.
Update your environment to use the Heat templates from the openstack-tripleo-heat-templates-0.8.14-29.el7ost package or later versions.

Procedure 8.1. Migrating Instances off the Compute Node

  1. From the director, source the overcloudrc and obtain a list of the current nova services:
    $ source ~/stack/overcloudrc
    $ nova service-list
    
  2. Disable the nova-compute service on the node you intend to migrate.
    $ nova service-disable [hostname] nova-compute
    
    This prevents new instances from being scheduled on it.
  3. Begin the process of migrating instances off the node:
    $ nova host-servers-migrate [hostname]
    
  4. The current status of the migration process can be retrieved with the command:
    $ nova migration-list
    
  5. When migration of each instance 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:
    $ nova resize-confirm [server-name]
    
This migrates all instances from a host. You can now perform maintenance on the host without any instance downtime. To return the host to an enabled state, run the following command:
$ nova service-enable [hostname] nova-compute