is ignored by driver.listen()

Bug #1256345 reported by Mark McLoughlin
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mehdi Abaakouk

Bug Description

Pointed out by Gordon Sim

If you set 'exchange' on the target passed to get_rpc_server(), then that value should override conf.control_exchange

An easy solution might be to just pass to declare_topic_consumer() but I haven't looked too carefully

Also note this, which is somewhat related:

 # FIXME(markmc): temp hack
 if self._default_exchange:
            self.conf.set_override('control_exchange', self._default_exchange)

This is one of those cases where I didn't want to refactor the existing drivers too much until Nova is using the library and we could use Nova's use of it to give us confidence that we weren't causing regressions ... I didn't expect it to take so long for Nova to merge oslo.messaging support, though.

Revision history for this message
Gordon Sim (gsim) wrote :

In order to allow the same topic name to be used for different contexts, a unique 'name' would also need need to be passed into the TopicConsumers for impl_rabbit and impl_qpid (e.g. prepending the exchange to the topic), since without that the topic name will be used for the queue name which would cause messages for the different contexts to be interleaved on the same queue. (Or so I believe! I'm still getting familiar with the code!).

Revision history for this message
Mark McLoughlin (markmc) wrote :

Gordon - yep, and this is related to bug #1173552

Revision history for this message
Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu ISO testing tracker.

A list of all reports related to this bug can be found here:

tags: added: iso-testing
Changed in oslo.messaging:
assignee: nobody → Mehdi Abaakouk (sileht)
status: Triaged → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to oslo.messaging (master)

Submitter: Jenkins
Branch: master

commit f4da21353956def06cb40e790b3a6f5275a68814
Author: Mehdi Abaakouk <email address hidden>
Date: Thu Apr 24 12:04:20 2014 +0200

    Remove amqp default exchange hack

    This change remove the hack to set the default exchange of a transport in the
    amqp driver, by removing the usage of the configuration object to get the
    default exchange in rabbit and qpid driver, and instead use the value
    passed to the driver constructor into all amqp publishers and consumers
    class/method that needs it.

    Closes-bug: #1256345
    Change-Id: Iba54ca79a49f8545854205c1451b2403735c1006

Changed in oslo.messaging:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in oslo.messaging:
milestone: none → juno-1
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers