summaryrefslogtreecommitdiffstats
path: root/nova/api
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2012-10-11 11:59:47 -0700
committerVishvananda Ishaya <vishvananda@gmail.com>2012-10-12 10:15:22 -0700
commitfead6dcd53e77240767063fc6e885f9c138c2776 (patch)
tree3775efef9ca392bcf76f64c7035d7e99d3a9acb0 /nova/api
parent3337da9dfdd4cddff85150b95f38052f2d9daa47 (diff)
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
Diffstat (limited to 'nova/api')
-rw-r--r--nova/api/ec2/cloud.py5
-rw-r--r--nova/api/openstack/compute/contrib/security_groups.py3
2 files changed, 5 insertions, 3 deletions
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)