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