RPC client recreates exception instance failed

Bug #1554368 reported by zengchen on 2016-03-08
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Cinder
Undecided
Unassigned

Bug Description

The rpc client will recreate exception instance if the exception of remote calling happens. But, recreating will fail, we will get an error : "__init__() got multiple values for keyword argument message". Because the arguments given to __init__ of CinderException are like this: __init__("some message", **{'message' : "some message", 'code' : 500}).

description: updated
Michal Dulko (michal-dulko-f) wrote :

Can you provide reproduction steps?

Fix proposed to branch: master
Review: https://review.openstack.org/290217

Changed in cinder:
assignee: nobody → zengchen (chenzeng2)
status: New → In Progress
zengchen (chenzeng2) wrote :

This bug will happen by calling remote interface through rpc's 'call' method. If an exception of remote interface happens and throw it by raising, then rpc client will catch it and recreate the exception instance, but will fail.

The reproduction steps are like these:
1. find a remote interface which will be called by rpc's 'call' method and will raise an exception instance of CinderException

2.call this interface on the api, then you will find the error happens at /usr/local/lib/python2.7/dist-packages/oslo_messaging/_drivers/common.py : deserialize_remote_exception(224)

Change abandoned by zengchen (<email address hidden>) on branch: master
Review: https://review.openstack.org/290217

Unassigning due to no activity for > 6 months.

Changed in cinder:
assignee: zengchen (chenzeng2) → nobody
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers