From d04fab69856e9c03b648f1dea42f9ef1f1cae4c4 Mon Sep 17 00:00:00 2001 From: Lance Bragstad <ldbragst@us.ibm.com> Date: Tue, 3 Dec 2013 15:18:41 +0000 Subject: [PATCH] Ensure context type is handled when using to_dict Handle the case where the context passed into def pack_context() is a dictionary. If a dictionary is passed in, we don't need to call to_dict before updating the msg. Closes-Bug: #1208971 Change-Id: I2ce0b28f97634e717868e0ee5525189338d4981c --- oslo/messaging/_drivers/amqp.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/oslo/messaging/_drivers/amqp.py b/oslo/messaging/_drivers/amqp.py index f9065126f..4eecdd26e 100644 --- a/oslo/messaging/_drivers/amqp.py +++ b/oslo/messaging/_drivers/amqp.py @@ -301,8 +301,13 @@ def pack_context(msg, context): for args at some point. """ - context_d = dict([('_context_%s' % key, value) - for (key, value) in context.to_dict().iteritems()]) + if isinstance(context, dict): + context_d = dict([('_context_%s' % key, value) + for (key, value) in context.iteritems()]) + else: + context_d = dict([('_context_%s' % key, value) + for (key, value) in context.to_dict().iteritems()]) + msg.update(context_d)