summaryrefslogtreecommitdiffstats
path: root/openstack/common/rpc/common.py
diff options
context:
space:
mode:
authorKiall Mac Innes <kiall@hp.com>2013-03-26 16:48:39 +0000
committerKiall Mac Innes <kiall@hp.com>2013-03-31 22:07:11 +0100
commit0912900042f777f2c31776aaedd8325e60287f33 (patch)
treef1d85f1f5f79f18b1b68f9920bc704d0857c0f81 /openstack/common/rpc/common.py
parent05219b89b367b077a1e1f61a2767e71f7f44665a (diff)
downloadoslo-0912900042f777f2c31776aaedd8325e60287f33.tar.gz
oslo-0912900042f777f2c31776aaedd8325e60287f33.tar.xz
oslo-0912900042f777f2c31776aaedd8325e60287f33.zip
rpc: fix positional args in remote exceptions
Fixes bug #1160475. Positional arguments were dropped during the deserialization of valid remote exceptions, while keyword arguments are correctly supplied. Change-Id: I7b95fc4ed3fb9e5c75f5711ed6aace7aa5593727
Diffstat (limited to 'openstack/common/rpc/common.py')
-rw-r--r--openstack/common/rpc/common.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/openstack/common/rpc/common.py b/openstack/common/rpc/common.py
index 42aaf09..6fb39e1 100644
--- a/openstack/common/rpc/common.py
+++ b/openstack/common/rpc/common.py
@@ -339,7 +339,7 @@ def deserialize_remote_exception(conf, data):
if not issubclass(klass, Exception):
raise TypeError("Can only deserialize Exceptions")
- failure = klass(**failure.get('kwargs', {}))
+ failure = klass(*failure.get('args', []), **failure.get('kwargs', {}))
except (AttributeError, TypeError, ImportError):
return RemoteError(name, failure.get('message'), trace)