target.exchange is ignored by driver.listen()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.messaging |
Fix Released
|
High
|
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_
An easy solution might be to just pass target.exchange to declare_
Also note this, which is somewhat related:
# FIXME(markmc): temp hack
if self._default_
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.
Changed in oslo.messaging: | |
assignee: | nobody → Mehdi Abaakouk (sileht) |
status: | Triaged → In Progress |
Changed in oslo.messaging: | |
milestone: | none → juno-1 |
status: | Fix Committed → Fix Released |
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!).