Merge "Fix exception mishandling"
This commit is contained in:
commit
22c457a55b
@ -72,9 +72,9 @@ class Endpoints(object):
|
||||
headers = {'status': 400}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = 'Queues could not be listed.'
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
@ -112,9 +112,9 @@ class Endpoints(object):
|
||||
headers = {'status': 400}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = _('Queue %s could not be created.') % queue_name
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
body = _('Queue %s created.') % queue_name
|
||||
@ -138,9 +138,9 @@ class Endpoints(object):
|
||||
try:
|
||||
self._queue_controller.delete(queue_name, project=project_id)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = _('Queue %s could not be deleted.') % queue_name
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
body = _('Queue %s removed.') % queue_name
|
||||
@ -172,9 +172,9 @@ class Endpoints(object):
|
||||
headers = {'status': 404}
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
headers = {'status': 503}
|
||||
error = _('Cannot retrieve queue %s.') % queue_name
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
body = resp_dict
|
||||
@ -201,8 +201,8 @@ class Endpoints(object):
|
||||
resp_dict = self._queue_controller.stats(queue_name,
|
||||
project=project_id)
|
||||
body = resp_dict
|
||||
except storage_errors.QueueDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
except storage_errors.QueueDoesNotExist:
|
||||
LOG.exception('Queue "%s" does not exist', queue_name)
|
||||
resp_dict = {
|
||||
'messages': {
|
||||
'claimed': 0,
|
||||
@ -214,9 +214,9 @@ class Endpoints(object):
|
||||
headers = {'status': 404}
|
||||
return response.Response(req, body, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = _('Cannot retrieve queue %s stats.') % queue_name
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
headers = {'status': 200}
|
||||
@ -262,11 +262,11 @@ class Endpoints(object):
|
||||
project=project_id)
|
||||
|
||||
except storage_errors.QueueDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Queue "%s" does not exist', queue_name)
|
||||
headers = {'status': 404}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Error deleting queue "%s".', queue_name)
|
||||
headers = {'status': 503}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
else:
|
||||
@ -489,9 +489,9 @@ class Endpoints(object):
|
||||
headers = {'status': 404}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.MessageConflict as ex:
|
||||
LOG.exception(ex)
|
||||
error = _(u'No messages could be enqueued.')
|
||||
headers = {'status': 500}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
|
||||
# Prepare the response
|
||||
@ -835,9 +835,9 @@ class Endpoints(object):
|
||||
headers = {'status': 400}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = 'Subscriptions could not be listed.'
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
@ -889,9 +889,9 @@ class Endpoints(object):
|
||||
headers = {'status': 400}
|
||||
return api_utils.error_response(req, ex, headers)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = _('Subscription %s could not be created.') % queue_name
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
if created:
|
||||
@ -924,11 +924,11 @@ class Endpoints(object):
|
||||
subscription_id,
|
||||
project=project_id)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
error = _('Subscription %(subscription)s for queue %(queue)s '
|
||||
'could not be deleted.') % {
|
||||
'subscription': subscription_id, 'queue': queue_name}
|
||||
headers = {'status': 503}
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
body = _('Subscription %s removed.') % subscription_id
|
||||
@ -964,9 +964,9 @@ class Endpoints(object):
|
||||
headers = {'status': 404}
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
except storage_errors.ExceptionBase as ex:
|
||||
LOG.exception(ex)
|
||||
headers = {'status': 503}
|
||||
error = _('Cannot retrieve subscription %s.') % subscription_id
|
||||
LOG.exception(error)
|
||||
return api_utils.error_response(req, ex, headers, error)
|
||||
else:
|
||||
body = resp_dict
|
||||
|
@ -95,7 +95,7 @@ class Bootstrap(object):
|
||||
oslo_cache.register_config(self.conf)
|
||||
return oslo_cache.get_cache(self.conf)
|
||||
except RuntimeError as exc:
|
||||
LOG.exception(exc)
|
||||
LOG.exception('Error loading proxy cache.')
|
||||
raise errors.InvalidDriver(exc)
|
||||
|
||||
@decorators.lazy_property(write=False)
|
||||
@ -120,10 +120,9 @@ class Bootstrap(object):
|
||||
invoke_args=args)
|
||||
return mgr.driver
|
||||
except RuntimeError as exc:
|
||||
LOG.exception(exc)
|
||||
LOG.error(u'Failed to load transport driver zaqar.transport.'
|
||||
u'%(driver)s with args %(args)s',
|
||||
{'driver': transport_name, 'args': args})
|
||||
LOG.exception(u'Failed to load transport driver zaqar.transport.'
|
||||
u'%(driver)s with args %(args)s',
|
||||
{'driver': transport_name, 'args': args})
|
||||
raise errors.InvalidDriver(exc)
|
||||
|
||||
def run(self):
|
||||
|
@ -194,11 +194,11 @@ def on_exception_sends_500(func):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
error = _("Unexpected error.")
|
||||
headers = {'status': 500}
|
||||
# args[0] - Endpoints object, args[1] - Request object.
|
||||
req = args[1]
|
||||
LOG.exception(error)
|
||||
return error_response(req, ex, headers, error)
|
||||
|
||||
return wrapper
|
||||
|
@ -34,7 +34,7 @@ def _fail(returncode, ex):
|
||||
|
||||
print(ex, file=sys.stderr)
|
||||
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Exception encountered:')
|
||||
sys.exit(returncode)
|
||||
|
||||
|
||||
|
@ -155,9 +155,10 @@ class DataDriverBase(DriverBase):
|
||||
try:
|
||||
start = time.time()
|
||||
result = callable_operation()
|
||||
except Exception as e:
|
||||
except Exception:
|
||||
ref = uuidutils.generate_uuid()
|
||||
LOG.exception(e, extra={'instance_uuid': ref})
|
||||
LOG.exception('Error calling operation.',
|
||||
extra={'instance_uuid': ref})
|
||||
succeeded = False
|
||||
status = status_template(succeeded, time.time() - start, ref)
|
||||
op_status[operation_type] = status
|
||||
|
@ -24,7 +24,6 @@ Field Mappings:
|
||||
import datetime
|
||||
import time
|
||||
|
||||
from bson import errors as bsonerror
|
||||
from bson import objectid
|
||||
from oslo_log import log as logging
|
||||
from oslo_utils import timeutils
|
||||
@ -458,8 +457,8 @@ class MessageController(storage.Message):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
break
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect error')
|
||||
|
||||
if doc is None:
|
||||
if window is None:
|
||||
@ -523,8 +522,8 @@ class MessageController(storage.Message):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
return doc['c']['v']
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect error')
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Public interface
|
||||
@ -912,7 +911,7 @@ class FIFOMessageController(MessageController):
|
||||
return [str(id_) for id_ in res.inserted_ids]
|
||||
|
||||
except (pymongo.errors.DuplicateKeyError,
|
||||
pymongo.errors.BulkWriteError) as ex:
|
||||
pymongo.errors.BulkWriteError):
|
||||
# TODO(kgriffs): Record stats of how often retries happen,
|
||||
# and how many attempts, on average, are required to insert
|
||||
# messages.
|
||||
@ -994,11 +993,8 @@ class FIFOMessageController(MessageController):
|
||||
|
||||
for index, message in enumerate(prepared_messages):
|
||||
message['k'] = next_marker + index
|
||||
except bsonerror.InvalidDocument as ex:
|
||||
LOG.exception(ex)
|
||||
raise
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
LOG.exception('Error parsing document')
|
||||
raise
|
||||
|
||||
msgtmpl = (u'Hit maximum number of attempts (%(max)s) for queue '
|
||||
|
@ -117,8 +117,8 @@ class PoolsController(base.PoolsBase):
|
||||
'f': flavor,
|
||||
'o': options}},
|
||||
upsert=True)
|
||||
except mongo_error.DuplicateKeyError as ex:
|
||||
LOG.exception(ex)
|
||||
except mongo_error.DuplicateKeyError:
|
||||
LOG.exception('Pool "%s" already exists', name)
|
||||
raise errors.PoolAlreadyExists()
|
||||
|
||||
@utils.raises_conn_error
|
||||
|
@ -162,8 +162,8 @@ class QueueController(storage.Queue):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
break
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect failure')
|
||||
|
||||
if doc is None:
|
||||
if window is None:
|
||||
|
@ -24,7 +24,6 @@ Field Mappings:
|
||||
import datetime
|
||||
import time
|
||||
|
||||
from bson import errors as bsonerror
|
||||
from bson import objectid
|
||||
from oslo_log import log as logging
|
||||
from oslo_utils import timeutils
|
||||
@ -365,8 +364,8 @@ class MessageController(storage.Message):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
break
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect error.')
|
||||
|
||||
if doc is None:
|
||||
if window is None:
|
||||
@ -430,8 +429,8 @@ class MessageController(storage.Message):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
return doc['c']['v']
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect error.')
|
||||
|
||||
# ----------------------------------------------------------------------
|
||||
# Public interface
|
||||
@ -813,7 +812,7 @@ class FIFOMessageController(MessageController):
|
||||
return [str(id_) for id_ in res.inserted_ids]
|
||||
|
||||
except (pymongo.errors.DuplicateKeyError,
|
||||
pymongo.errors.BulkWriteError) as ex:
|
||||
pymongo.errors.BulkWriteError):
|
||||
# TODO(kgriffs): Record stats of how often retries happen,
|
||||
# and how many attempts, on average, are required to insert
|
||||
# messages.
|
||||
@ -895,11 +894,8 @@ class FIFOMessageController(MessageController):
|
||||
|
||||
for index, message in enumerate(prepared_messages):
|
||||
message['k'] = next_marker + index
|
||||
except bsonerror.InvalidDocument as ex:
|
||||
LOG.exception(ex)
|
||||
raise
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
LOG.exception('Error parsing document.')
|
||||
raise
|
||||
|
||||
msgtmpl = (u'Hit maximum number of attempts (%(max)s) for topic '
|
||||
|
@ -148,8 +148,8 @@ class TopicController(storage.Topic):
|
||||
projection={'c.v': 1, '_id': 0})
|
||||
|
||||
break
|
||||
except pymongo.errors.AutoReconnect as ex:
|
||||
LOG.exception(ex)
|
||||
except pymongo.errors.AutoReconnect:
|
||||
LOG.exception('Auto reconnect failure')
|
||||
|
||||
if doc is None:
|
||||
if window is None:
|
||||
|
@ -268,8 +268,8 @@ def raises_conn_error(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except errors.ConnectionFailure as ex:
|
||||
LOG.exception(ex)
|
||||
except errors.ConnectionFailure:
|
||||
LOG.exception('Connection failure.')
|
||||
raise storage_errors.ConnectionError()
|
||||
|
||||
return wrapper
|
||||
|
@ -152,8 +152,8 @@ def raises_conn_error(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except redis.exceptions.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
except redis.exceptions.ConnectionError:
|
||||
LOG.exception('Connection failure:')
|
||||
raise errors.ConnectionError()
|
||||
|
||||
return wrapper
|
||||
|
@ -42,8 +42,8 @@ def raises_conn_error(func):
|
||||
def wrapper(*args, **kwargs):
|
||||
try:
|
||||
return func(*args, **kwargs)
|
||||
except exc.InvalidRequestError as ex:
|
||||
LOG.exception(ex)
|
||||
except exc.InvalidRequestError:
|
||||
LOG.exception('Connection error:')
|
||||
raise errors.ConnectionError()
|
||||
|
||||
return wrapper
|
||||
|
@ -55,8 +55,8 @@ class DataDriver(storage.DataDriverBase):
|
||||
try:
|
||||
self.connection.get_capabilities()
|
||||
return True
|
||||
except Exception as e:
|
||||
LOG.exception(e)
|
||||
except Exception:
|
||||
LOG.exception('Aliveness check failed:')
|
||||
return False
|
||||
|
||||
@decorators.lazy_property(write=False)
|
||||
|
@ -95,7 +95,7 @@ def load_storage_impl(uri, control_mode=False, default_store=None):
|
||||
return mgr.driver
|
||||
|
||||
except Exception as exc:
|
||||
LOG.exception(exc)
|
||||
LOG.exception('Error loading storage driver')
|
||||
raise errors.InvalidDriver(exc)
|
||||
|
||||
|
||||
@ -148,9 +148,8 @@ def load_storage_driver(conf, cache, storage_type=None,
|
||||
return mgr.driver
|
||||
|
||||
except Exception as exc:
|
||||
LOG.error('Failed to load "{}" driver for "{}"'.format(
|
||||
driver_type, storage_type))
|
||||
LOG.exception(exc)
|
||||
LOG.exception('Failed to load "%s" driver for "%s"',
|
||||
driver_type, storage_type)
|
||||
raise errors.InvalidDriver(exc)
|
||||
|
||||
|
||||
|
@ -164,8 +164,8 @@ class Driver(transport.DriverBase):
|
||||
|
||||
def _error_handler(self, exc, request, response, params):
|
||||
if isinstance(exc, falcon.HTTPError):
|
||||
raise exc
|
||||
LOG.exception(exc)
|
||||
raise
|
||||
LOG.exception('Internal server error')
|
||||
raise falcon.HTTPInternalServerError('Internal server error',
|
||||
six.text_type(exc))
|
||||
|
||||
|
@ -69,10 +69,10 @@ def deserialize(stream, len):
|
||||
description = _(u'JSON contains integer that is too large.')
|
||||
raise errors.HTTPBadRequestBody(description)
|
||||
|
||||
except Exception as ex:
|
||||
except Exception:
|
||||
# Error while reading from the network/server
|
||||
LOG.exception(ex)
|
||||
description = _(u'Request body could not be read.')
|
||||
LOG.exception(description)
|
||||
raise errors.HTTPServiceUnavailable(description)
|
||||
|
||||
|
||||
@ -192,11 +192,10 @@ def load(req):
|
||||
"""
|
||||
try:
|
||||
return utils.read_json(req.stream, req.content_length)
|
||||
except (utils.MalformedJSON, utils.OverflowedJSONInteger) as ex:
|
||||
LOG.exception(ex)
|
||||
raise errors.HTTPBadRequestBody(
|
||||
'JSON could not be parsed.'
|
||||
)
|
||||
except (utils.MalformedJSON, utils.OverflowedJSONInteger):
|
||||
message = 'JSON could not be parsed.'
|
||||
LOG.exception(message)
|
||||
raise errors.HTTPBadRequestBody(message)
|
||||
|
||||
|
||||
# TODO(cpp-cabrera): generalize this
|
||||
|
@ -70,9 +70,9 @@ class CollectionResource(Resource):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages, if any. This logic assumes
|
||||
@ -111,9 +111,9 @@ class ItemResource(Resource):
|
||||
except storage_errors.DoesNotExist as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be queried.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages
|
||||
@ -153,9 +153,9 @@ class ItemResource(Resource):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
@decorators.TransportLog("Claim item")
|
||||
@ -167,7 +167,7 @@ class ItemResource(Resource):
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -57,9 +57,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -100,9 +100,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
if not messages:
|
||||
@ -161,14 +161,14 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except storage_errors.MessageConflict as ex:
|
||||
LOG.exception(ex)
|
||||
except storage_errors.MessageConflict:
|
||||
description = _(u'No messages could be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare the response
|
||||
@ -222,9 +222,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -249,9 +249,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.content_location = req.relative_uri
|
||||
@ -289,9 +289,9 @@ class ItemResource(object):
|
||||
u'deleted without a valid claim ID.')
|
||||
raise falcon.HTTPForbidden(error_title, description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Alles guete
|
||||
|
@ -47,9 +47,9 @@ class Resource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue metadata could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.content_location = req.path
|
||||
@ -87,9 +87,9 @@ class Resource(object):
|
||||
except storage_errors.QueueDoesNotExist as ex:
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Metadata could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
@ -179,7 +179,7 @@ class Resource(object):
|
||||
response.status = falcon.HTTP_201
|
||||
response.location = request.path
|
||||
except errors.PoolAlreadyExists as e:
|
||||
LOG.exception(e)
|
||||
LOG.exception('Pool "%s" already exists', pool)
|
||||
raise wsgi_errors.HTTPConflict(six.text_type(e))
|
||||
|
||||
def on_delete(self, request, response, project_id, pool):
|
||||
@ -231,5 +231,5 @@ class Resource(object):
|
||||
try:
|
||||
self._ctrl.update(pool, **fields)
|
||||
except errors.PoolDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Pool "%s" does not exist', pool)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
@ -41,9 +41,9 @@ class ItemResource(object):
|
||||
created = self._queue_controller.create(
|
||||
queue_name, project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_201 if created else falcon.HTTP_204
|
||||
@ -65,9 +65,9 @@ class ItemResource(object):
|
||||
try:
|
||||
self._queue_controller.delete(queue_name, project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -103,9 +103,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queues could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Check for an empty list
|
||||
|
@ -67,7 +67,7 @@ class Resource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue stats could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -90,9 +90,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages, if any. This logic assumes
|
||||
@ -138,9 +138,9 @@ class ItemResource(object):
|
||||
except storage_errors.DoesNotExist as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be queried.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages
|
||||
@ -180,9 +180,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
@decorators.TransportLog("Claim item")
|
||||
@ -194,7 +194,7 @@ class ItemResource(object):
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -150,10 +150,10 @@ class Resource(object):
|
||||
capabilities=data['capabilities'])
|
||||
response.status = falcon.HTTP_201
|
||||
response.location = request.path
|
||||
except errors.PoolGroupDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
except errors.PoolGroupDoesNotExist:
|
||||
description = (_(u'Flavor %(flavor)s could not be created. ') %
|
||||
dict(flavor=flavor))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
|
||||
def on_delete(self, request, response, project_id, flavor):
|
||||
@ -199,5 +199,5 @@ class Resource(object):
|
||||
try:
|
||||
self._ctrl.update(flavor, project=project_id, **fields)
|
||||
except errors.FlavorDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Flavor "%s" does not exist', flavor)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
@ -33,7 +33,7 @@ class Resource(object):
|
||||
try:
|
||||
resp_dict = self._driver.health()
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Health status could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -70,9 +70,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -116,9 +116,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
messages = None
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
if not messages:
|
||||
@ -192,14 +192,14 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except storage_errors.MessageConflict as ex:
|
||||
LOG.exception(ex)
|
||||
except storage_errors.MessageConflict:
|
||||
description = _(u'No messages could be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare the response
|
||||
@ -263,9 +263,9 @@ class CollectionResource(object):
|
||||
message_ids=ids,
|
||||
project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
return falcon.HTTP_204
|
||||
@ -281,9 +281,9 @@ class CollectionResource(object):
|
||||
project=project_id,
|
||||
limit=pop_limit)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be popped.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -314,9 +314,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -357,9 +357,9 @@ class ItemResource(object):
|
||||
u'deleted without a valid claim ID.')
|
||||
raise falcon.HTTPForbidden(error_title, description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Alles guete
|
||||
|
@ -182,11 +182,11 @@ class Resource(object):
|
||||
response.status = falcon.HTTP_201
|
||||
response.location = request.path
|
||||
except errors.PoolCapabilitiesMismatch as e:
|
||||
LOG.exception(e)
|
||||
title = _(u'Unable to create pool')
|
||||
LOG.exception(title)
|
||||
raise falcon.HTTPBadRequest(title, six.text_type(e))
|
||||
except errors.PoolAlreadyExists as e:
|
||||
LOG.exception(e)
|
||||
LOG.exception('Pool "%s" already exists', pool)
|
||||
raise wsgi_errors.HTTPConflict(six.text_type(e))
|
||||
|
||||
def on_delete(self, request, response, project_id, pool):
|
||||
@ -200,11 +200,11 @@ class Resource(object):
|
||||
try:
|
||||
self._ctrl.delete(pool)
|
||||
except errors.PoolInUseByFlavor as ex:
|
||||
LOG.exception(ex)
|
||||
title = _(u'Unable to delete')
|
||||
description = _(u'This pool is used by flavors {flavor}; '
|
||||
u'It cannot be deleted.')
|
||||
description = description.format(flavor=ex.flavor)
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPForbidden(title, description)
|
||||
|
||||
response.status = falcon.HTTP_204
|
||||
@ -248,5 +248,5 @@ class Resource(object):
|
||||
try:
|
||||
self._ctrl.update(pool, **fields)
|
||||
except errors.PoolDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Pool "%s" does not exist', pool)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
@ -48,9 +48,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue metadata could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
@ -81,12 +81,12 @@ class ItemResource(object):
|
||||
project=project_id)
|
||||
|
||||
except storage_errors.FlavorDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('"%s" does not exist', queue_name)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_201 if created else falcon.HTTP_204
|
||||
@ -97,9 +97,9 @@ class ItemResource(object):
|
||||
try:
|
||||
self._queue_controller.delete(queue_name, project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -134,9 +134,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queues could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
|
@ -68,7 +68,7 @@ class Resource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue stats could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -92,9 +92,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages, if any. This logic assumes
|
||||
@ -141,9 +141,9 @@ class ItemResource(object):
|
||||
except storage_errors.DoesNotExist as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be queried.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Serialize claimed messages
|
||||
@ -184,9 +184,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
@decorators.TransportLog("Claims item")
|
||||
@ -199,7 +199,7 @@ class ItemResource(object):
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Claim could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -202,10 +202,10 @@ class Resource(object):
|
||||
try:
|
||||
self._check_pools_exists(pool_list)
|
||||
except errors.PoolDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s could not be created, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
capabilities = self._pools_ctrl.capabilities(name=pool_list[0])
|
||||
try:
|
||||
@ -215,19 +215,19 @@ class Resource(object):
|
||||
response.status = falcon.HTTP_201
|
||||
response.location = request.path
|
||||
except errors.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s could not be created, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
# NOTE(gengchc2): Update the 'flavor' field in pools tables.
|
||||
try:
|
||||
self._update_pools_by_flavor(flavor, pool_list)
|
||||
except errors.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s could not be created, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
|
||||
@decorators.TransportLog("Flavors item")
|
||||
@ -267,10 +267,10 @@ class Resource(object):
|
||||
# need to be cleaned.
|
||||
try:
|
||||
self._clean_pools_by_flavor(flavor)
|
||||
except errors.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
except errors.ConnectionError:
|
||||
description = (_(u'Flavor %(flavor)s could not be deleted.') %
|
||||
dict(flavor=flavor))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
self._ctrl.delete(flavor, project=project_id)
|
||||
response.status = falcon.HTTP_204
|
||||
@ -298,10 +298,10 @@ class Resource(object):
|
||||
try:
|
||||
self._check_pools_exists(pool_list)
|
||||
except errors.PoolDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s cant be updated, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('updatefail'), description)
|
||||
capabilities = self._pools_ctrl.capabilities(name=pool_list[0])
|
||||
try:
|
||||
@ -311,17 +311,17 @@ class Resource(object):
|
||||
resp_data['capabilities'] = [str(cap).split('.')[-1]
|
||||
for cap in capabilities]
|
||||
except errors.FlavorDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Flavor "%s" does not exist', flavor)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
# (gengchc) Update flavor field in new pool list.
|
||||
try:
|
||||
self._update_pools_by_flavor(flavor, pool_list)
|
||||
except errors.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s could not be updated, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
# (gengchc) Remove flavor from old pool list.
|
||||
try:
|
||||
@ -331,10 +331,10 @@ class Resource(object):
|
||||
pool_list_removed.append(pool_old['name'])
|
||||
self._clean_pools_by_flavor(flavor, pool_list_removed)
|
||||
except errors.ConnectionError as ex:
|
||||
LOG.exception(ex)
|
||||
description = (_(u'Flavor %(flavor)s could not be updated, '
|
||||
'error:%(msg)s') %
|
||||
dict(flavor=flavor, msg=str(ex)))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to create'), description)
|
||||
resp_data['pool_list'] = pool_list
|
||||
resp_data['href'] = request.path
|
||||
|
@ -37,7 +37,7 @@ class Resource(object):
|
||||
try:
|
||||
resp_dict = self._driver.health()
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Health status could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -67,9 +67,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -103,8 +103,8 @@ class CollectionResource(object):
|
||||
# So maybe a refactor is needed in the future.
|
||||
queue_meta = self._queue_controller.get_metadata(queue_name,
|
||||
project_id)
|
||||
except storage_errors.DoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
except storage_errors.DoesNotExist:
|
||||
LOG.exception('Queue name "%s" does not exist', queue_name)
|
||||
queue_delay = queue_meta.get('_default_message_delay')
|
||||
if not queue_delay:
|
||||
# NOTE(cdyangzhenyu): If the queue without the metadata
|
||||
@ -131,9 +131,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
messages = None
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
if not messages:
|
||||
@ -231,14 +231,14 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except storage_errors.MessageConflict as ex:
|
||||
LOG.exception(ex)
|
||||
except storage_errors.MessageConflict:
|
||||
description = _(u'No messages could be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be enqueued.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare the response
|
||||
@ -309,9 +309,9 @@ class CollectionResource(object):
|
||||
project=project_id,
|
||||
claim_ids=claim_ids)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
return falcon.HTTP_204
|
||||
@ -327,9 +327,9 @@ class CollectionResource(object):
|
||||
project=project_id,
|
||||
limit=pop_limit)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Messages could not be popped.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -361,9 +361,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Prepare response
|
||||
@ -405,9 +405,9 @@ class ItemResource(object):
|
||||
u'deleted without a valid claim ID.')
|
||||
raise falcon.HTTPForbidden(error_title, description)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Message could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Alles guete
|
||||
|
@ -199,11 +199,11 @@ class Resource(object):
|
||||
response.status = falcon.HTTP_201
|
||||
response.location = request.path
|
||||
except errors.PoolCapabilitiesMismatch as e:
|
||||
LOG.exception(e)
|
||||
title = _(u'Unable to create pool')
|
||||
LOG.exception(title)
|
||||
raise falcon.HTTPBadRequest(title, six.text_type(e))
|
||||
except errors.PoolAlreadyExists as e:
|
||||
LOG.exception(e)
|
||||
LOG.exception('Pool "%s" already exists', pool)
|
||||
raise wsgi_errors.HTTPConflict(six.text_type(e))
|
||||
|
||||
@decorators.TransportLog("Pools item")
|
||||
@ -219,11 +219,11 @@ class Resource(object):
|
||||
try:
|
||||
self._ctrl.delete(pool)
|
||||
except errors.PoolInUseByFlavor as ex:
|
||||
LOG.exception(ex)
|
||||
title = _(u'Unable to delete')
|
||||
description = _(u'This pool is used by flavors {flavor}; '
|
||||
u'It cannot be deleted.')
|
||||
description = description.format(flavor=ex.flavor)
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPForbidden(title, description)
|
||||
|
||||
response.status = falcon.HTTP_204
|
||||
@ -271,7 +271,7 @@ class Resource(object):
|
||||
self._ctrl.update(pool, **fields)
|
||||
resp_data = self._ctrl.get(pool, False)
|
||||
except errors.PoolDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Pool "%s" does not exist', pool)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
resp_data['href'] = request.path
|
||||
|
@ -75,9 +75,9 @@ class Resource(object):
|
||||
project=project_id)
|
||||
except ValueError as err:
|
||||
raise wsgi_errors.HTTPBadRequestAPI(str(err))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be purged.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
@ -68,9 +68,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue metadata could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
@ -99,11 +99,11 @@ class ItemResource(object):
|
||||
project=project_id)
|
||||
|
||||
except storage_errors.FlavorDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Flavor "%s" does not exist', queue_name)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_201 if created else falcon.HTTP_204
|
||||
@ -118,9 +118,9 @@ class ItemResource(object):
|
||||
try:
|
||||
self._queue_controller.delete(queue_name, project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -173,10 +173,10 @@ class ItemResource(object):
|
||||
description = _(u'JSON contains integer that is too large.')
|
||||
raise wsgi_errors.HTTPBadRequestBody(description)
|
||||
|
||||
except Exception as ex:
|
||||
except Exception:
|
||||
# Error while reading from the network/server
|
||||
LOG.exception(ex)
|
||||
description = _(u'Request body could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
else:
|
||||
msg = _("PATCH body could not be empty for update.")
|
||||
@ -209,10 +209,10 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestBody(six.text_type(ex))
|
||||
except wsgi_errors.HTTPConflict as ex:
|
||||
raise ex
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
raise
|
||||
except Exception:
|
||||
description = _(u'Queue could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
for meta, value in _get_reserved_metadata(self._validate).items():
|
||||
if not metadata.get(meta):
|
||||
@ -271,9 +271,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queues could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
|
@ -72,7 +72,7 @@ class Resource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Queue stats could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
@ -55,9 +55,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Subscription could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
@ -71,9 +71,9 @@ class ItemResource(object):
|
||||
subscription_id,
|
||||
project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Subscription could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -102,11 +102,11 @@ class ItemResource(object):
|
||||
except validation.ValidationFailed as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = (_(u'Subscription %(subscription_id)s could not be'
|
||||
' updated.') %
|
||||
dict(subscription_id=subscription_id))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to update subscription'),
|
||||
description)
|
||||
|
||||
@ -147,9 +147,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Subscriptions could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
@ -201,9 +201,9 @@ class CollectionResource(object):
|
||||
except validation.ValidationFailed as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Subscription could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
now = timeutils.utcnow_ts()
|
||||
@ -295,10 +295,10 @@ class ConfirmResource(object):
|
||||
except validation.ValidationFailed as ex:
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = (_(u'Subscription %(subscription_id)s could not be'
|
||||
' confirmed.') %
|
||||
dict(subscription_id=subscription_id))
|
||||
LOG.exception(description)
|
||||
raise falcon.HTTPBadRequest(_('Unable to confirm subscription'),
|
||||
description)
|
||||
|
@ -65,9 +65,9 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topic metadata could not be retrieved.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.body = utils.to_json(resp_dict)
|
||||
@ -96,11 +96,11 @@ class ItemResource(object):
|
||||
project=project_id)
|
||||
|
||||
except storage_errors.FlavorDoesNotExist as ex:
|
||||
LOG.exception(ex)
|
||||
LOG.exception('Flavor "%s" does not exist', topic_name)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topic could not be created.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_201 if created else falcon.HTTP_204
|
||||
@ -115,9 +115,9 @@ class ItemResource(object):
|
||||
try:
|
||||
self._topic_controller.delete(topic_name, project=project_id)
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topic could not be deleted.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
@ -170,10 +170,10 @@ class ItemResource(object):
|
||||
description = _(u'JSON contains integer that is too large.')
|
||||
raise wsgi_errors.HTTPBadRequestBody(description)
|
||||
|
||||
except Exception as ex:
|
||||
except Exception:
|
||||
# Error while reading from the network/server
|
||||
LOG.exception(ex)
|
||||
description = _(u'Request body could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
else:
|
||||
msg = _("PATCH body could not be empty for update.")
|
||||
@ -206,10 +206,10 @@ class ItemResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestBody(six.text_type(ex))
|
||||
except wsgi_errors.HTTPConflict as ex:
|
||||
raise ex
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
raise
|
||||
except Exception:
|
||||
description = _(u'Topic could not be updated.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
for meta, value in _get_reserved_metadata(self._validate).items():
|
||||
if not metadata.get(meta):
|
||||
@ -263,9 +263,9 @@ class CollectionResource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPBadRequestAPI(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topics could not be listed.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
# Got some. Prepare the response.
|
||||
|
@ -74,9 +74,9 @@ class Resource(object):
|
||||
project=project_id)
|
||||
except ValueError as err:
|
||||
raise wsgi_errors.HTTPBadRequestAPI(str(err))
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topic could not be purged.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
||||
resp.status = falcon.HTTP_204
|
||||
|
@ -72,7 +72,7 @@ class Resource(object):
|
||||
LOG.debug(ex)
|
||||
raise wsgi_errors.HTTPNotFound(six.text_type(ex))
|
||||
|
||||
except Exception as ex:
|
||||
LOG.exception(ex)
|
||||
except Exception:
|
||||
description = _(u'Topic stats could not be read.')
|
||||
LOG.exception(description)
|
||||
raise wsgi_errors.HTTPServiceUnavailable(description)
|
||||
|
Loading…
Reference in New Issue
Block a user