From 7593a6948c43c907893bfba5fff65a6b5acf5c2d Mon Sep 17 00:00:00 2001 From: Russell Bryant Date: Fri, 27 Apr 2012 14:14:18 -0400 Subject: Use openstack.common.importutils. Use import_class(), import_object(), and import_module() from openstack-common's importutils module. The equivalent functions have been removed from nova.utils. A few modules had import order cleaned up in passing, as well. My initial motivation for this was to remove some more usage of nova bits from nova.rpc as another step towards being able to move nova.rpc import openstack-common. Since I was pulling importutils into nova, I went ahead and converted the whole thing. Change-Id: I7c7786cf0001bcd06db52b9a99ff4284a3f6c6fa --- nova/api/ec2/__init__.py | 3 ++- nova/api/ec2/cloud.py | 3 ++- nova/api/manager.py | 4 ++-- nova/api/openstack/auth.py | 3 ++- nova/api/openstack/compute/contrib/security_groups.py | 5 +++-- nova/api/openstack/compute/limits.py | 4 ++-- nova/api/openstack/extensions.py | 9 +++++---- 7 files changed, 18 insertions(+), 13 deletions(-) (limited to 'nova/api') diff --git a/nova/api/ec2/__init__.py b/nova/api/ec2/__init__.py index 964f54995..ebcdc6aed 100644 --- a/nova/api/ec2/__init__.py +++ b/nova/api/ec2/__init__.py @@ -37,6 +37,7 @@ from nova import exception from nova import flags from nova import log as logging from nova.openstack.common import cfg +from nova.openstack.common import importutils from nova import utils from nova import wsgi @@ -410,7 +411,7 @@ class Requestify(wsgi.Middleware): def __init__(self, app, controller): super(Requestify, self).__init__(app) - self.controller = utils.import_class(controller)() + self.controller = importutils.import_object(controller) @webob.dec.wsgify(RequestClass=wsgi.Request) def __call__(self, req): diff --git a/nova/api/ec2/cloud.py b/nova/api/ec2/cloud.py index f64bc9492..a94a5b1f9 100644 --- a/nova/api/ec2/cloud.py +++ b/nova/api/ec2/cloud.py @@ -41,6 +41,7 @@ from nova import flags from nova.image import s3 from nova import log as logging from nova import network +from nova.openstack.common import importutils from nova import quota from nova import utils from nova import volume @@ -211,7 +212,7 @@ class CloudController(object): self.volume_api = volume.API() self.compute_api = compute.API(network_api=self.network_api, volume_api=self.volume_api) - self.sgh = utils.import_object(FLAGS.security_group_handler) + self.sgh = importutils.import_object(FLAGS.security_group_handler) def __str__(self): return 'CloudController' diff --git a/nova/api/manager.py b/nova/api/manager.py index 35ea8100c..204e55a0e 100644 --- a/nova/api/manager.py +++ b/nova/api/manager.py @@ -18,7 +18,7 @@ from nova import flags from nova import manager -from nova import utils +from nova.openstack.common import importutils FLAGS = flags.FLAGS @@ -31,7 +31,7 @@ class MetadataManager(manager.Manager): """ def __init__(self, *args, **kwargs): super(MetadataManager, self).__init__(*args, **kwargs) - self.network_driver = utils.import_object(FLAGS.network_driver) + self.network_driver = importutils.import_module(FLAGS.network_driver) def init_host(self): """Perform any initialization. diff --git a/nova/api/openstack/auth.py b/nova/api/openstack/auth.py index 726e4ad28..89afb682a 100644 --- a/nova/api/openstack/auth.py +++ b/nova/api/openstack/auth.py @@ -28,6 +28,7 @@ from nova import context from nova import exception from nova import flags from nova import log as logging +from nova.openstack.common import importutils from nova import utils from nova import wsgi as base_wsgi @@ -76,7 +77,7 @@ class AuthMiddleware(base_wsgi.Middleware): def __init__(self, application, db_driver=None): if not db_driver: db_driver = FLAGS.db_driver - self.db = utils.import_object(db_driver) + self.db = importutils.import_module(db_driver) self.auth = manager.AuthManager() super(AuthMiddleware, self).__init__(application) diff --git a/nova/api/openstack/compute/contrib/security_groups.py b/nova/api/openstack/compute/contrib/security_groups.py index 281cc8c71..6c35ac2f9 100644 --- a/nova/api/openstack/compute/contrib/security_groups.py +++ b/nova/api/openstack/compute/contrib/security_groups.py @@ -31,6 +31,7 @@ from nova import db from nova import exception from nova import flags from nova import log as logging +from nova.openstack.common import importutils from nova import quota from nova import utils @@ -180,7 +181,7 @@ class SecurityGroupControllerBase(object): def __init__(self): self.compute_api = compute.API() - self.sgh = utils.import_object(FLAGS.security_group_handler) + self.sgh = importutils.import_object(FLAGS.security_group_handler) def _format_security_group_rule(self, context, rule): sg_rule = {} @@ -569,7 +570,7 @@ class SecurityGroupActionController(wsgi.Controller): def __init__(self, *args, **kwargs): super(SecurityGroupActionController, self).__init__(*args, **kwargs) self.compute_api = compute.API() - self.sgh = utils.import_object(FLAGS.security_group_handler) + self.sgh = importutils.import_object(FLAGS.security_group_handler) @wsgi.action('addSecurityGroup') def _addSecurityGroup(self, req, id, body): diff --git a/nova/api/openstack/compute/limits.py b/nova/api/openstack/compute/limits.py index c45f7a21c..60c7e4b93 100644 --- a/nova/api/openstack/compute/limits.py +++ b/nova/api/openstack/compute/limits.py @@ -31,8 +31,8 @@ import webob.exc from nova.api.openstack.compute.views import limits as limits_views from nova.api.openstack import wsgi from nova.api.openstack import xmlutil +from nova.openstack.common import importutils from nova import quota -from nova import utils from nova import wsgi as base_wsgi @@ -233,7 +233,7 @@ class RateLimitingMiddleware(base_wsgi.Middleware): if limiter is None: limiter = Limiter else: - limiter = utils.import_class(limiter) + limiter = importutils.import_class(limiter) # Parse the limits, if any are provided if limits is not None: diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py index 055b16a7b..750d7c394 100644 --- a/nova/api/openstack/extensions.py +++ b/nova/api/openstack/extensions.py @@ -27,8 +27,9 @@ from nova.api.openstack import xmlutil from nova import exception from nova import flags from nova import log as logging +from nova.openstack.common import exception as common_exception +from nova.openstack.common import importutils import nova.policy -from nova import utils LOG = logging.getLogger(__name__) @@ -246,7 +247,7 @@ class ExtensionManager(object): LOG.debug(_("Loading extension %s"), ext_factory) # Load the factory - factory = utils.import_class(ext_factory) + factory = importutils.import_class(ext_factory) # Call it LOG.debug(_("Calling extension factory %s"), ext_factory) @@ -356,8 +357,8 @@ def load_standard_extensions(ext_mgr, logger, path, package, ext_list=None): ext_name = ("%s%s.%s.extension" % (package, relpkg, dname)) try: - ext = utils.import_class(ext_name) - except exception.ClassNotFound: + ext = importutils.import_class(ext_name) + except common_exception.NotFound: # extension() doesn't exist on it, so we'll explore # the directory for ourselves subdirs.append(dname) -- cgit