diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index 9e8b0d0c7960..7050418f818b 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -1241,8 +1241,8 @@ class CloudController(object): self._format_instance_root_device_name(instance, i) self._format_instance_bdm(context, instance['uuid'], i['rootDeviceName'], i) - host = instance['host'] - zone = ec2utils.get_availability_zone_by_host(host) + zone = availability_zones.get_instance_availability_zone(context, + instance) i['placement'] = {'availabilityZone': zone} if instance['reservation_id'] not in reservations: r = {} diff --git a/nova/api/ec2/ec2utils.py b/nova/api/ec2/ec2utils.py index 4c19767c0683..8649ba318864 100644 --- a/nova/api/ec2/ec2utils.py +++ b/nova/api/ec2/ec2utils.py @@ -19,7 +19,6 @@ import re from oslo.utils import timeutils -from nova import availability_zones from nova import context from nova import exception from nova.i18n import _ @@ -174,11 +173,6 @@ def get_ip_info_for_instance(context, instance): return get_ip_info_for_instance_from_nw_info(nw_info) -def get_availability_zone_by_host(host, conductor_api=None): - return availability_zones.get_host_availability_zone( - context.get_admin_context(), host, conductor_api) - - def id_to_ec2_id(instance_id, template='i-%08x'): """Convert an instance ID (int) to an ec2 ID (i-[base 16 number]).""" return template % int(instance_id) diff --git a/nova/tests/unit/api/ec2/test_cloud.py b/nova/tests/unit/api/ec2/test_cloud.py index a815c38b3b28..9a41d75a498d 100644 --- a/nova/tests/unit/api/ec2/test_cloud.py +++ b/nova/tests/unit/api/ec2/test_cloud.py @@ -34,6 +34,7 @@ from nova.api.ec2 import cloud from nova.api.ec2 import ec2utils from nova.api.ec2 import inst_state from nova.api.metadata import password +from nova import availability_zones from nova.compute import api as compute_api from nova.compute import flavors from nova.compute import power_state @@ -140,6 +141,7 @@ class CloudTestCase(test.TestCase): super(CloudTestCase, self).setUp() self.useFixture(test.SampleNetworks()) ec2utils.reset_cache() + availability_zones.reset_cache() self.flags(compute_driver='nova.virt.fake.FakeDriver', volume_api_class='nova.tests.unit.fake_volume.API') self.useFixture(fixtures.FakeLogger('boto'))