1) rabbitmq cleaning up the topic after rabbit_transient_queues_ttl [30 mins] since the last usage by a neutron agent (new agent doesn't use it anymore) and
2) oslo.messaging sending a fanout to a topic.
In regular setup, a fanout to a non-existent topic results in its creation; but if it is pulled from under fanout attempt in the middle of it, then we may hit the issue.
A possible solution would be then to catch the error, do any necessary cleanup for connection channel, and repeat the attempt, now first creating the topic.
The issue is extensively being discussed in #openstack-oslo; logs: http:// eavesdrop. openstack. org/irclogs/ %23openstack- oslo/%23opensta ck-oslo. 2017-08- 02.log. html#t2017- 08-02T19: 18:05
Current thinking is that we hit a race between
1) rabbitmq cleaning up the topic after rabbit_ transient_ queues_ ttl [30 mins] since the last usage by a neutron agent (new agent doesn't use it anymore) and
2) oslo.messaging sending a fanout to a topic.
In regular setup, a fanout to a non-existent topic results in its creation; but if it is pulled from under fanout attempt in the middle of it, then we may hit the issue.
A possible solution would be then to catch the error, do any necessary cleanup for connection channel, and repeat the attempt, now first creating the topic.