diff --git a/ironic/api/controllers/v1/node.py b/ironic/api/controllers/v1/node.py index f176a523f4..65d0c347fa 100644 --- a/ironic/api/controllers/v1/node.py +++ b/ironic/api/controllers/v1/node.py @@ -478,7 +478,7 @@ class Node(base.APIBase): except exception.ChassisNotFound as e: # Change error code because 404 (NotFound) is inappropriate # response for a POST request to create a Port - e.code = http_client.BAD_REQUEST # BadRequest + e.code = http_client.BAD_REQUEST raise e elif value == wtypes.Unset: self._chassis_uuid = wtypes.Unset diff --git a/ironic/api/hooks.py b/ironic/api/hooks.py index 6861ad6aa7..90c1a2f963 100644 --- a/ironic/api/hooks.py +++ b/ironic/api/hooks.py @@ -135,6 +135,8 @@ class NoExceptionTracebackHook(hooks.PecanHook): return # Do nothing if there is no error. + # Status codes in the range 200 (OK) to 399 (400 = BAD_REQUEST) are not + # an error. if (http_client.OK <= state.response.status_int < http_client.BAD_REQUEST): return diff --git a/ironic/common/exception.py b/ironic/common/exception.py index 129bb71ab9..580d955f71 100644 --- a/ironic/common/exception.py +++ b/ironic/common/exception.py @@ -443,7 +443,7 @@ class NodeNotLocked(Invalid): class NoFreeConductorWorker(TemporaryFailure): message = _('Requested action cannot be performed due to lack of free ' 'conductor workers.') - code = http_client.SERVICE_UNAVAILABLE # Service Unavailable (temporary). + code = http_client.SERVICE_UNAVAILABLE class VendorPassthruException(IronicException):