oslo.messaging does not redeclare exchange if it is missing
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
oslo.messaging |
Fix Released
|
Undecided
|
Kirill Bespalov |
Bug Description
Steps to reproduce:
1. Create a load on OpenStack, trigger restart of one of RabbitMQ nodes (exact reason unknown).
2. Observe a lot of
operation basic.publish caused a channel exception not_found: "no exchange 'reply_
entries in RabbitMQ log for various reply queues.
Looking earlier in the RabbitMQ log one can found
2016-08-
2016-08-
The following stacktrace corresponds to the later message in nova-compute.log: http://
It seems that during RabbitMQ failover we might end up with declared queue, which is not bound to an exchange (there an exception listed in paste above is thrown). Later oslo.messaging successfully starts consuming from that queue, since the queue exists, but it is useless because it is not bound to an exchange.
You may find the whole logs containing snippets from above attached - nova-compute.log and rabbitmq.log.3.gz
Versions:
oslo.messaging - stable/mitaka
RabbitMQ - 3.6.1
kombu 3.0.32
pyamqp 1.4.8
Changed in oslo.messaging: | |
assignee: | Mehdi Abaakouk (sileht) → Kirill Bespalov (k-besplv) |
Fix proposed to branch: master /review. openstack. org/351162
Review: https:/