summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2012-05-02 19:32:40 +0000
committerGerrit Code Review <review@openstack.org>2012-05-02 19:32:40 +0000
commite9928de9bd73c30a0946ce53f5d4cd40d4520d20 (patch)
tree0cc8c26ee9f3a9670a69fcde6439e9e4173ec291
parentca2bb061a728bb5db8781f298c18c980d9d91863 (diff)
parent524bfb84f5119315af56556cc9911f92c538b5b0 (diff)
Merge "Update common.importutils from openstack-common."
-rw-r--r--nova/api/openstack/extensions.py3
-rw-r--r--nova/notifier/list_notifier.py1
-rw-r--r--nova/openstack/common/exception.py147
-rw-r--r--nova/openstack/common/importutils.py7
-rw-r--r--nova/scheduler/filter_scheduler.py3
-rw-r--r--nova/tests/scheduler/test_host_filters.py3
-rw-r--r--openstack-common.conf2
7 files changed, 7 insertions, 159 deletions
diff --git a/nova/api/openstack/extensions.py b/nova/api/openstack/extensions.py
index 750d7c394..b1c244e4b 100644
--- a/nova/api/openstack/extensions.py
+++ b/nova/api/openstack/extensions.py
@@ -27,7 +27,6 @@ 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
@@ -358,7 +357,7 @@ def load_standard_extensions(ext_mgr, logger, path, package, ext_list=None):
(package, relpkg, dname))
try:
ext = importutils.import_class(ext_name)
- except common_exception.NotFound:
+ except ImportError:
# extension() doesn't exist on it, so we'll explore
# the directory for ourselves
subdirs.append(dname)
diff --git a/nova/notifier/list_notifier.py b/nova/notifier/list_notifier.py
index c3f27fd0e..9f6d29775 100644
--- a/nova/notifier/list_notifier.py
+++ b/nova/notifier/list_notifier.py
@@ -16,7 +16,6 @@
from nova import flags
from nova import log as logging
from nova.openstack.common import cfg
-from nova.openstack.common import exception as common_exception
from nova.openstack.common import importutils
diff --git a/nova/openstack/common/exception.py b/nova/openstack/common/exception.py
deleted file mode 100644
index ba32da550..000000000
--- a/nova/openstack/common/exception.py
+++ /dev/null
@@ -1,147 +0,0 @@
-# vim: tabstop=4 shiftwidth=4 softtabstop=4
-
-# Copyright 2011 OpenStack LLC.
-# All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-"""
-Exceptions common to OpenStack projects
-"""
-
-import logging
-
-
-class ProcessExecutionError(IOError):
- def __init__(self, stdout=None, stderr=None, exit_code=None, cmd=None,
- description=None):
- if description is None:
- description = "Unexpected error while running command."
- if exit_code is None:
- exit_code = '-'
- message = "%s\nCommand: %s\nExit code: %s\nStdout: %r\nStderr: %r" % (
- description, cmd, exit_code, stdout, stderr)
- IOError.__init__(self, message)
-
-
-class Error(Exception):
- def __init__(self, message=None):
- super(Error, self).__init__(message)
-
-
-class ApiError(Error):
- def __init__(self, message='Unknown', code='Unknown'):
- self.message = message
- self.code = code
- super(ApiError, self).__init__('%s: %s' % (code, message))
-
-
-class NotFound(Error):
- pass
-
-
-class UnknownScheme(Error):
-
- msg = "Unknown scheme '%s' found in URI"
-
- def __init__(self, scheme):
- msg = self.__class__.msg % scheme
- super(UnknownScheme, self).__init__(msg)
-
-
-class BadStoreUri(Error):
-
- msg = "The Store URI %s was malformed. Reason: %s"
-
- def __init__(self, uri, reason):
- msg = self.__class__.msg % (uri, reason)
- super(BadStoreUri, self).__init__(msg)
-
-
-class Duplicate(Error):
- pass
-
-
-class NotAuthorized(Error):
- pass
-
-
-class NotEmpty(Error):
- pass
-
-
-class Invalid(Error):
- pass
-
-
-class BadInputError(Exception):
- """Error resulting from a client sending bad input to a server"""
- pass
-
-
-class MissingArgumentError(Error):
- pass
-
-
-class DatabaseMigrationError(Error):
- pass
-
-
-class ClientConnectionError(Exception):
- """Error resulting from a client connecting to a server"""
- pass
-
-
-def wrap_exception(f):
- def _wrap(*args, **kw):
- try:
- return f(*args, **kw)
- except Exception, e:
- if not isinstance(e, Error):
- #exc_type, exc_value, exc_traceback = sys.exc_info()
- logging.exception('Uncaught exception')
- #logging.error(traceback.extract_stack(exc_traceback))
- raise Error(str(e))
- raise
- _wrap.func_name = f.func_name
- return _wrap
-
-
-class OpenstackException(Exception):
- """
- Base Exception
-
- To correctly use this class, inherit from it and define
- a 'message' property. That message will get printf'd
- with the keyword arguments provided to the constructor.
- """
- message = "An unknown exception occurred"
-
- def __init__(self, **kwargs):
- try:
- self._error_string = self.message % kwargs
-
- except Exception:
- # at least get the core message out if something happened
- self._error_string = self.message
-
- def __str__(self):
- return self._error_string
-
-
-class MalformedRequestBody(OpenstackException):
- message = "Malformed message body: %(reason)s"
-
-
-class InvalidContentType(OpenstackException):
- message = "Invalid content type %(content_type)s"
diff --git a/nova/openstack/common/importutils.py b/nova/openstack/common/importutils.py
index 2d8bc09a9..7654af5b9 100644
--- a/nova/openstack/common/importutils.py
+++ b/nova/openstack/common/importutils.py
@@ -21,8 +21,6 @@ Import related utilities and helper functions.
import sys
-from nova.openstack.common import exception
-
def import_class(import_str):
"""Returns a class from a string including module and class"""
@@ -30,8 +28,9 @@ def import_class(import_str):
try:
__import__(mod_str)
return getattr(sys.modules[mod_str], class_str)
- except (ImportError, ValueError, AttributeError):
- raise exception.NotFound('Class %s cannot be found' % class_str)
+ except (ImportError, ValueError, AttributeError), exc:
+ raise ImportError('Class %s cannot be found (%s)' %
+ (class_str, str(exc)))
def import_object(import_str, *args, **kwargs):
diff --git a/nova/scheduler/filter_scheduler.py b/nova/scheduler/filter_scheduler.py
index ce7ba420b..1e7ee16b9 100644
--- a/nova/scheduler/filter_scheduler.py
+++ b/nova/scheduler/filter_scheduler.py
@@ -25,7 +25,6 @@ from nova import exception
from nova import flags
from nova import log as logging
from nova.notifier import api as notifier
-from nova.openstack.common import exception as common_exception
from nova.openstack.common import importutils
from nova.scheduler import driver
from nova.scheduler import least_cost
@@ -245,7 +244,7 @@ class FilterScheduler(driver.Scheduler):
# the weighing function can be any non-class callable
# (i.e., no 'self')
cost_fn = importutils.import_class(cost_fn_str)
- except common_exception.NotFound:
+ except ImportError:
raise exception.SchedulerCostFunctionNotFound(
cost_fn_str=cost_fn_str)
diff --git a/nova/tests/scheduler/test_host_filters.py b/nova/tests/scheduler/test_host_filters.py
index 1d61d0fe9..d37ce1c02 100644
--- a/nova/tests/scheduler/test_host_filters.py
+++ b/nova/tests/scheduler/test_host_filters.py
@@ -20,7 +20,6 @@ import json
from nova import context
from nova import exception
from nova import flags
-from nova.openstack.common import exception as common_exception
from nova.scheduler import filters
from nova import test
from nova.tests.scheduler import fakes
@@ -65,7 +64,7 @@ class HostFiltersTestCase(test.TestCase):
self.assertEqual(len(classes), 1 + len(self.class_map))
def test_get_filter_classes_raises_on_invalid_classes(self):
- self.assertRaises(common_exception.NotFound,
+ self.assertRaises(ImportError,
filters.get_filter_classes,
['nova.tests.scheduler.test_host_filters.NoExist'])
self.assertRaises(exception.ClassNotFound,
diff --git a/openstack-common.conf b/openstack-common.conf
index d32dec4e6..61850d238 100644
--- a/openstack-common.conf
+++ b/openstack-common.conf
@@ -1,7 +1,7 @@
[DEFAULT]
# The list of modules to copy from openstack-common
-modules=cfg,exception,local,importutils,iniparser
+modules=cfg,local,importutils,iniparser
# The base module to hold the copy of openstack.common
base=nova