Reject AZ changes during aggregate add / remove host

After this patch nova rejects the add host to aggregate API action
if the host has instances and the new aggregate for the host would
mean that these instances need to move from one AZ (even from the
default one) to another. Such AZ change is not implemented in nova
and currently leads to stuck instances.

Similarly nova will reject remove host from aggregate API action if the
host has instances and the aggregate removal would mean that the
instances need to change AZ.

Depends-On: https://review.opendev.org/c/openstack/tempest/+/821732

Change-Id: I19c4c6d34aa2cc1f32d81e8c1a52762fa3a18580
Closes-Bug: #1907775
This commit is contained in:
Balazs Gibizer
2021-12-10 17:53:30 +01:00
committed by Balazs Gibizer
parent ca5be99837
commit 3c0eadae0b
8 changed files with 168 additions and 13 deletions
+8
View File
@@ -32,6 +32,14 @@ availability zone where instances will be scheduled when the user fails to
specify one. For more information on how to do this, refer to
:doc:`/admin/availability-zones`.
.. note::
It is not allowed to move instances between Availability Zones.
If adding a host to an aggregate or removing a host from an aggregate would
cause an instance to move between Availability Zones, including moving
from or moving to the default AZ, then the operation will be rejected. The
administrator should drain the instances from the host first then the host
can be moved.
.. _config-sch-for-aggs:
+9
View File
@@ -55,6 +55,15 @@ when comparing availability zones and host aggregates:
users to specify hosts where instances are launched in server creation.
See `Using availability zones to select hosts`_ for more information.
.. note::
It is not allowed to move instances between Availability Zones.
If adding a host to an aggregate or removing a host from an aggregate
would cause an instance to move between Availability Zones, including
moving from or moving to the default AZ, then the operation will be
rejected. The administrator should drain the instances from the host
first then the host can be moved.
In addition, other services, such as the :neutron-doc:`networking service <>`
and the :cinder-doc:`block storage service <>`, also provide an availability
zone feature. However, the implementation of these features differs vastly