diff options
| author | Jenkins <jenkins@review.openstack.org> | 2012-07-25 17:25:16 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2012-07-25 17:25:16 +0000 |
| commit | 6618878b71c48abbdfe766c01e6b2e7604b60002 (patch) | |
| tree | 8283a3183940b7715e5297752c5b172753a1ddfb /nova/api | |
| parent | a4ce1e57a61a858506ccde4ae1dc10641067637e (diff) | |
| parent | 76c1fd11b73fd8516bbde20cb46f627b658d4a6d (diff) | |
Merge "Check for exception codes in openstack API results"
Diffstat (limited to 'nova/api')
| -rw-r--r-- | nova/api/openstack/__init__.py | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/nova/api/openstack/__init__.py b/nova/api/openstack/__init__.py index c1ce7ee94..a2f73e852 100644 --- a/nova/api/openstack/__init__.py +++ b/nova/api/openstack/__init__.py @@ -25,7 +25,6 @@ import webob.dec import webob.exc from nova.api.openstack import wsgi -from nova import exception from nova.openstack.common import log as logging from nova import utils from nova import wsgi as base_wsgi @@ -47,8 +46,13 @@ class FaultWrapper(base_wsgi.Middleware): return FaultWrapper._status_to_type.get( status, webob.exc.HTTPInternalServerError)() - def _error(self, inner, req, headers=None, status=500, safe=False): + def _error(self, inner, req): LOG.exception(_("Caught error: %s"), unicode(inner)) + + safe = getattr(inner, 'safe', False) + headers = getattr(inner, 'headers', None) + status = getattr(inner, 'code', 500) + msg_dict = dict(url=req.url, status=status) LOG.info(_("%(url)s returned with HTTP %(status)d") % msg_dict) outer = self.status_to_type(status) @@ -70,8 +74,6 @@ class FaultWrapper(base_wsgi.Middleware): def __call__(self, req): try: return req.get_response(self.application) - except exception.NovaException as ex: - return self._error(ex, req, ex.headers, ex.code, ex.safe) except Exception as ex: return self._error(ex, req) |
