summaryrefslogtreecommitdiffstats
path: root/nova/exception.py
diff options
context:
space:
mode:
authorVishvananda Ishaya <vishvananda@gmail.com>2011-01-25 23:39:35 +0000
committerTarmac <>2011-01-25 23:39:35 +0000
commitdbbaa7c41384c57b2aa10514518b71180316e64a (patch)
treef2b31bb774f3239208d500f73b2bc5eed68ff437 /nova/exception.py
parentcbf94d5a5cac6190b9dabb589eb5ee9b6d2f5127 (diff)
parent12952feab2fdcf0fe705114404c303cbb0f7c0d1 (diff)
downloadnova-dbbaa7c41384c57b2aa10514518b71180316e64a.tar.gz
nova-dbbaa7c41384c57b2aa10514518b71180316e64a.tar.xz
nova-dbbaa7c41384c57b2aa10514518b71180316e64a.zip
This branch updates docs to reflect the db sync addition. It additionally adds some useful errors to nova-manage to help people that are using old guides. It wraps sqlalchemy errors in generic DBError. Finally, it updates nova.sh to use current settings.
Diffstat (limited to 'nova/exception.py')
-rw-r--r--nova/exception.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/nova/exception.py b/nova/exception.py
index 2320e2214..f604fd63a 100644
--- a/nova/exception.py
+++ b/nova/exception.py
@@ -81,6 +81,24 @@ class TimeoutException(Error):
pass
+class DBError(Error):
+ """Wraps an implementation specific exception"""
+ def __init__(self, inner_exception):
+ self.inner_exception = inner_exception
+ super(DBError, self).__init__(str(inner_exception))
+
+
+def wrap_db_error(f):
+ def _wrap(*args, **kwargs):
+ try:
+ return f(*args, **kwargs)
+ except Exception, e:
+ LOG.exception(_('DB exception wrapped'))
+ raise DBError(e)
+ return _wrap
+ _wrap.func_name = f.func_name
+
+
def wrap_exception(f):
def _wrap(*args, **kw):
try: