Exception handling in magnum remote commands

Registered by Madhuri Kumari

Problem:
Currently whenever any remote commands raise an exception, that exception is returned as RemoteError and user receives 500 status which is not correct behaviour.

For eg.
On deleting a non existing bay, BayNotFound exception is raised and that exception is wrapped in RemoteError(exc_type=None, value=None, traceback=None). The oslo tries to deserialize this error by looking for exceptions defined in allow_remote_exmods and then re-raise them. But it failed to do so because magnum exceptions were not registered in allow_remote_exmods.

Proposed Solution:
All the remote exceptions must be deserialised to actual exceptions raised. Then re-raise the appropiate exception from controller to client.

This blueprint will do all the necessary changes to handle remote exceptions and their test cases.

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
Madhuri Kumari
Direction:
Needs approval
Assignee:
Madhuri Kumari
Definition:
New
Series goal:
None
Implementation:
Implemented
Milestone target:
None
Started by
Madhuri Kumari
Completed by
Madhuri Kumari

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/exception-handling-in-magnum,n,z

Addressed by: https://review.openstack.org/159036
    Register all magnum exceptions in allow_remote_exmods

Addressed by: https://review.openstack.org/159042
    Added remote exception handling in all bay APIs

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.