From fead6dcd53e77240767063fc6e885f9c138c2776 Mon Sep 17 00:00:00 2001 From: Vishvananda Ishaya Date: Thu, 11 Oct 2012 11:59:47 -0700 Subject: Stops compute api import at import time There is an automatic import of compute.api at import time whenever anything under compute is imported. This leads to all sorts of weird dependency problems such as the one here: https://review.openstack.org/#/c/14170/ This modifies the import to happen when compute.API() is called, which is how we handle it for network and volume. A few imports were also modified to make it consistent with this new style. Change-Id: Ic748376510aa4cc48dfefc6ec36621d0ae498bfc --- nova/api/ec2/cloud.py | 5 +++-- nova/api/openstack/compute/contrib/security_groups.py | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'nova/api') diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index aa7e880df..7bba05f3b 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -30,6 +30,7 @@ from nova.api.ec2 import inst_state from nova.api import validator from nova import block_device from nova import compute +from nova.compute import api as compute_api from nova.compute import instance_types from nova.compute import vm_states from nova import db @@ -187,7 +188,7 @@ class CloudController(object): self.compute_api = compute.API(network_api=self.network_api, volume_api=self.volume_api, security_group_api=self.security_group_api) - self.keypair_api = compute.api.KeypairAPI() + self.keypair_api = compute_api.KeypairAPI() def __str__(self): return 'CloudController' @@ -1580,7 +1581,7 @@ class CloudController(object): return {'imageId': ec2_id} -class CloudSecurityGroupAPI(compute.api.SecurityGroupAPI): +class CloudSecurityGroupAPI(compute_api.SecurityGroupAPI): @staticmethod def raise_invalid_property(msg): raise exception.InvalidParameterValue(err=msg) diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py index e5b1797b4..ee36ee58d 100644 --- a/nova/api/openstack/compute/contrib/security_groups.py +++ b/nova/api/openstack/compute/contrib/security_groups.py @@ -26,6 +26,7 @@ from nova.api.openstack import extensions from nova.api.openstack import wsgi from nova.api.openstack import xmlutil from nova import compute +from nova.compute import api as compute_api from nova import db from nova import exception from nova import flags @@ -558,7 +559,7 @@ class Security_groups(extensions.ExtensionDescriptor): return resources -class NativeSecurityGroupAPI(compute.api.SecurityGroupAPI): +class NativeSecurityGroupAPI(compute_api.SecurityGroupAPI): @staticmethod def raise_invalid_property(msg): raise exc.HTTPBadRequest(explanation=msg) -- cgit