Can I Live Migrate an Instance Across Availability Zones?

Problem: Live migration of instance across availability zone is failing. Below messages are reported in logs /var/log/nova/nova-conductor.log:

WARNING nova.scheduler.utils [...] Failed to compute_task_migrate_server: No valid host was found

And in logs /var/log/nova/nova-scheduler.log:

INFO nova.scheduler.host_manager [...] Host filter only checking host [...] and node [hostname]INFO nova.filters [...] Filter AvailabilityZoneFilter returned 0 hosts

Environment:

  • Platform managed OpenStack - All versions
  • Nova

Cause:

Live migration of instance is possible across the availability zone but only using CLI. As we can see both the source and destination host are part of different availability zones.

  • Source Host:

    $ openstack compute service list | grep [UUID]| 50 | nova-compute | [UUID] | Test-AZ | enabled | up | 2020-XX-XXTYY:YY:YY.000000 |
    
  • Destination Host:

    $ openstack compute service list | grep [UUID]| 69 | nova-compute | [UUID] | nova | enabled | up | 2020-XX-XXTYY:YY:YY.000000 |
    

Resolution:

Live migration between different availability zones works with the --force parameter to live-migration. Migrating instances using --force option, can forcefully bypass the nova-scheduler and move an instance to a specified host:

https://docs.openstack.org/nova/latest/admin/availability-zones.html

Additional Information:

Refer the OpenStack documentation for more details on the Availability Zones docs.