diff options
-rw-r--r-- | nova/api/openstack/wsgi.py | 13 | ||||
-rw-r--r-- | nova/exception.py | 1 |
2 files changed, 6 insertions, 8 deletions
diff --git a/nova/api/openstack/wsgi.py b/nova/api/openstack/wsgi.py index f7e8d0c6a..79382d864 100644 --- a/nova/api/openstack/wsgi.py +++ b/nova/api/openstack/wsgi.py @@ -651,11 +651,12 @@ class ResourceExceptionHandler(object): return True if isinstance(ex_value, exception.NotAuthorized): - msg = unicode(ex_value) + msg = unicode(ex_value.message % ex_value.kwargs) raise Fault(webob.exc.HTTPForbidden(explanation=msg)) elif isinstance(ex_value, exception.Invalid): + msg = unicode(ex_value.message % ex_value.kwargs) raise Fault(exception.ConvertedException( - code=ex_value.code, explanation=unicode(ex_value))) + code=ex_value.code, explanation=msg)) # Under python 2.6, TypeError's exception value is actually a string, # so test # here via ex_type instead: @@ -1158,12 +1159,8 @@ class Fault(webob.exc.HTTPException): code = self.wrapped_exc.status_int fault_name = self._fault_names.get(code, "computeFault") explanation = self.wrapped_exc.explanation - offset = explanation.find("Traceback") - if offset is not -1: - LOG.debug(_("API request failed, fault raised to the top of" - " the stack. Detailed stacktrace %s") % - explanation) - explanation = explanation[0:offset - 1] + LOG.debug(_("Returning %(code)s to user: %(explanation)s"), + {'code': code, 'explanation': explanation}) fault_data = { fault_name: { diff --git a/nova/exception.py b/nova/exception.py index 046df24c9..3db724fa9 100644 --- a/nova/exception.py +++ b/nova/exception.py @@ -388,6 +388,7 @@ class InvalidDevicePath(Invalid): class DevicePathInUse(Invalid): message = _("The supplied device path (%(path)s) is in use.") + code = 409 class DeviceIsBusy(Invalid): |