diff --git a/doc/notification_samples/instance-delete-end_not_scheduled.json b/doc/notification_samples/instance-delete-end_not_scheduled.json index 7cd0045e5427..1fd3c6959f82 100644 --- a/doc/notification_samples/instance-delete-end_not_scheduled.json +++ b/doc/notification_samples/instance-delete-end_not_scheduled.json @@ -3,6 +3,7 @@ "payload":{ "$ref":"common_payloads/InstanceActionPayload.json#", "nova_object.data":{ + "availability_zone": null, "block_devices":[], "deleted_at":"2012-10-29T13:42:11Z", "host":null, diff --git a/doc/notification_samples/instance-delete-start_not_scheduled.json b/doc/notification_samples/instance-delete-start_not_scheduled.json index 32be5a3bb4d2..60597f9e851a 100644 --- a/doc/notification_samples/instance-delete-start_not_scheduled.json +++ b/doc/notification_samples/instance-delete-start_not_scheduled.json @@ -3,6 +3,7 @@ "payload":{ "$ref":"common_payloads/InstanceActionPayload.json#", "nova_object.data":{ + "availability_zone": null, "block_devices":[], "host":null, "ip_addresses":[], diff --git a/doc/notification_samples/instance-shelve_offload-end.json b/doc/notification_samples/instance-shelve_offload-end.json index d7a563557cf4..05df5ddd6175 100644 --- a/doc/notification_samples/instance-shelve_offload-end.json +++ b/doc/notification_samples/instance-shelve_offload-end.json @@ -3,6 +3,7 @@ "payload":{ "$ref": "common_payloads/InstanceActionPayload.json#", "nova_object.data":{ + "availability_zone": null, "state": "shelved_offloaded", "power_state": "shutdown", "host": null, diff --git a/nova/compute/manager.py b/nova/compute/manager.py index b0a308c97c94..5ed5734b6431 100644 --- a/nova/compute/manager.py +++ b/nova/compute/manager.py @@ -578,6 +578,9 @@ class ComputeManager(manager.Manager): # to the database layer. instance.host = None instance.node = None + # If the instance is not on a host, it's not in an aggregate and + # therefore is not in an availability zone. + instance.availability_zone = None def _set_instance_obj_error_state(self, context, instance, clean_task_state=False): diff --git a/nova/tests/functional/test_servers.py b/nova/tests/functional/test_servers.py index fd055bd5d9b9..6090eda6a3c4 100644 --- a/nova/tests/functional/test_servers.py +++ b/nova/tests/functional/test_servers.py @@ -2755,7 +2755,8 @@ class ServerMovingTests(integrated_helpers.ProviderUsageBaseTestCase): self.api.post_server_action(server['id'], req) self._wait_for_server_parameter( self.api, server, {'status': 'SHELVED_OFFLOADED', - 'OS-EXT-SRV-ATTR:host': None}) + 'OS-EXT-SRV-ATTR:host': None, + 'OS-EXT-AZ:availability_zone': ''}) source_usages = self._get_provider_usages(source_rp_uuid) self.assertEqual({'VCPU': 0, 'MEMORY_MB': 0,