summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-10-12 23:42:10 +0000
committerGerrit Code Review <review@openstack.org>2012-10-12 23:42:10 +0000
commitfaa47fef92a2ea5440202d20f7965fb365791647 (patch)
treeb8203391dbab23846cc2fbb393881b36d1802097
parent51150a12db437eabbe6ae8e910902b1b94a89599 (diff)
parentfead6dcd53e77240767063fc6e885f9c138c2776 (diff)
downloadnova-faa47fef92a2ea5440202d20f7965fb365791647.tar.gz
nova-faa47fef92a2ea5440202d20f7965fb365791647.tar.xz
nova-faa47fef92a2ea5440202d20f7965fb365791647.zip
Merge "Stops compute api import at import time"
-rw-r--r--nova/api/ec2/cloud.py5
-rw-r--r--nova/api/openstack/compute/contrib/security_groups.py3
-rw-r--r--nova/compute/__init__.py7
-rw-r--r--nova/tests/api/openstack/fakes.py5
-rw-r--r--nova/tests/compute/test_compute.py8
5 files changed, 17 insertions, 11 deletions
diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py
index 6cbaf2309..20e68030f 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'
@@ -1583,7 +1584,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)
diff --git a/nova/compute/__init__.py b/nova/compute/__init__.py
index 2916ff048..b770778aa 100644
--- a/nova/compute/__init__.py
+++ b/nova/compute/__init__.py
@@ -21,5 +21,8 @@
import nova.flags
import nova.openstack.common.importutils
-API = nova.openstack.common.importutils.import_class(
- nova.flags.FLAGS.compute_api_class)
+
+def API(*args, **kwargs):
+ importutils = nova.openstack.common.importutils
+ cls = importutils.import_class(nova.flags.FLAGS.compute_api_class)
+ return cls(*args, **kwargs)
diff --git a/nova/tests/api/openstack/fakes.py b/nova/tests/api/openstack/fakes.py
index bb6542c16..dc83447e4 100644
--- a/nova/tests/api/openstack/fakes.py
+++ b/nova/tests/api/openstack/fakes.py
@@ -32,6 +32,7 @@ from nova.api.openstack.compute import versions
from nova.api.openstack import urlmap
from nova.api.openstack import volume
from nova.api.openstack import wsgi as os_wsgi
+from nova.compute import api as compute_api
from nova.compute import instance_types
from nova.compute import vm_states
from nova import context
@@ -160,7 +161,7 @@ def stub_out_compute_api_snapshot(stubs):
return dict(id='123', status='ACTIVE', name=name,
properties=extra_properties)
- stubs.Set(nova.compute.API, 'snapshot', snapshot)
+ stubs.Set(compute_api.API, 'snapshot', snapshot)
class stub_out_compute_api_backup(object):
@@ -168,7 +169,7 @@ class stub_out_compute_api_backup(object):
def __init__(self, stubs):
self.stubs = stubs
self.extra_props_last_call = None
- stubs.Set(nova.compute.API, 'backup', self.backup)
+ stubs.Set(compute_api.API, 'backup', self.backup)
def backup(self, context, instance, name, backup_type, rotation,
extra_properties=None):
diff --git a/nova/tests/compute/test_compute.py b/nova/tests/compute/test_compute.py
index d48edc376..76d0f6fb8 100644
--- a/nova/tests/compute/test_compute.py
+++ b/nova/tests/compute/test_compute.py
@@ -218,7 +218,7 @@ class ComputeTestCase(BaseTestCase):
self.stubs.Set(compute_utils, 'add_instance_fault_from_exc',
did_it_add_fault)
- @nova.compute.manager.wrap_instance_fault
+ @compute_manager.wrap_instance_fault
def failer(self2, context, instance):
raise NotImplementedError()
@@ -238,7 +238,7 @@ class ComputeTestCase(BaseTestCase):
self.stubs.Set(compute_utils, 'add_instance_fault_from_exc',
did_it_add_fault)
- @nova.compute.manager.wrap_instance_fault
+ @compute_manager.wrap_instance_fault
def failer(self2, context, instance_uuid):
raise exception.InstanceNotFound()
@@ -2679,7 +2679,7 @@ class ComputeAPITestCase(BaseTestCase):
super(ComputeAPITestCase, self).setUp()
self.stubs.Set(network_api.API, 'get_instance_nw_info',
fake_get_nw_info)
- self.security_group_api = compute.api.SecurityGroupAPI()
+ self.security_group_api = compute_api.SecurityGroupAPI()
self.compute_api = compute.API(
security_group_api=self.security_group_api)
self.fake_image = {
@@ -4928,7 +4928,7 @@ class ComputePolicyTestCase(BaseTestCase):
self.mox.StubOutWithMock(nova.policy, 'enforce')
nova.policy.enforce(self.context, 'compute:reboot', {})
self.mox.ReplayAll()
- nova.compute.api.check_policy(self.context, 'reboot', {})
+ compute_api.check_policy(self.context, 'reboot', {})
def test_wrapped_method(self):
instance = self._create_fake_instance(params={'host': None})