Quota violations should not cause a stacktrace in the logs
Don't show exception logs in api log for resize operations if the resize operations lead to quota violations Change-Id: Ia101c599908c7652cc07fa4c7e7f1b057943e031 Closes-Bug: #1235389
This commit is contained in:
@@ -137,6 +137,10 @@ class AdminActionsController(wsgi.Controller):
|
||||
try:
|
||||
instance = self.compute_api.get(context, id, want_objects=True)
|
||||
self.compute_api.resize(req.environ['nova.context'], instance)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.InstanceIsLocked as e:
|
||||
raise exc.HTTPConflict(explanation=e.format_message())
|
||||
except exception.InstanceInvalidState as state_error:
|
||||
|
@@ -124,6 +124,10 @@ class AdminActionsController(wsgi.Controller):
|
||||
try:
|
||||
instance = self.compute_api.get(context, id, want_objects=True)
|
||||
self.compute_api.resize(req.environ['nova.context'], instance)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.InstanceIsLocked as e:
|
||||
raise exc.HTTPConflict(explanation=e.format_message())
|
||||
except exception.InstanceInvalidState as state_error:
|
||||
|
@@ -999,6 +999,10 @@ class ServersController(wsgi.Controller):
|
||||
|
||||
try:
|
||||
self.compute_api.resize(context, instance, flavor_id, **kwargs)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.FlavorNotFound:
|
||||
msg = _("Unable to locate requested flavor.")
|
||||
raise exc.HTTPBadRequest(explanation=msg)
|
||||
|
@@ -1130,6 +1130,10 @@ class Controller(wsgi.Controller):
|
||||
|
||||
try:
|
||||
self.compute_api.resize(context, instance, flavor_id, **kwargs)
|
||||
except exception.QuotaError as error:
|
||||
raise exc.HTTPRequestEntityTooLarge(
|
||||
explanation=error.format_message(),
|
||||
headers={'Retry-After': 0})
|
||||
except exception.FlavorNotFound:
|
||||
msg = _("Unable to locate requested flavor.")
|
||||
raise exc.HTTPBadRequest(explanation=msg)
|
||||
|
@@ -577,7 +577,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
self.stubs.Set(compute_api.API, 'resize', fake_resize)
|
||||
|
||||
req = fakes.HTTPRequestV3.blank(self.url)
|
||||
self.assertRaises(exception.TooManyInstances,
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.controller._action_resize,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
|
@@ -678,7 +678,7 @@ class ServerActionsControllerTest(test.TestCase):
|
||||
self.stubs.Set(compute_api.API, 'resize', fake_resize)
|
||||
|
||||
req = fakes.HTTPRequest.blank(self.url)
|
||||
self.assertRaises(exception.TooManyInstances,
|
||||
self.assertRaises(webob.exc.HTTPRequestEntityTooLarge,
|
||||
self.controller._action_resize,
|
||||
req, FAKE_UUID, body)
|
||||
|
||||
|
Reference in New Issue
Block a user