neutron-openvswitch-agent stuck on no queue 'q-agent-notifier-port-update_fanout..
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
neutron |
Invalid
|
Undecided
|
Unassigned | |||
neutron (Ubuntu) | ||||||
Trusty |
Fix Released
|
Medium
|
Unassigned |
Bug Description
Under an HA deployment, neutron-
when receiving a close command on a fanout queue the agent is not subscribed to.
It stops responding to any other messages, so it stops effectively working at all.
2014-11-11 10:27:33.092 3027 INFO neutron.
2014-11-11 10:27:34.285 3027 INFO neutron.
2014-11-11 10:27:34.370 3027 INFO neutron.
2014-11-11 10:27:35.348 3027 INFO neutron.
2014-11-11 10:27:35.351 3027 INFO neutron.
2014-11-11 10:27:35.401 3027 INFO neutron.
2014-11-11 10:27:35.414 3027 INFO neutron.
2014-11-11 10:32:33.143 3027 INFO neutron.
2014-11-11 10:58:11.916 3027 INFO neutron.
2014-11-11 10:59:43.954 3027 INFO neutron.
2014-11-11 11:00:22.500 3027 INFO neutron.
2014-11-12 01:27:35.662 3027 ERROR neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.662 3027 TRACE neutron.
2014-11-12 01:27:35.695 3027 INFO neutron.
2014-11-12 01:27:35.722 3027 INFO neutron.
2014-11-12 02:00:22.682 3027 ERROR neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.682 3027 TRACE neutron.
2014-11-12 02:00:22.683 3027 INFO neutron.
2014-11-12 02:00:23.017 3027 INFO neutron.
2014-11-12 02:00:23.021 3027 ERROR root [-] Unexpected exception occurred 1 time(s)... retrying.
2014-11-12 02:00:23.021 3027 TRACE root Traceback (most recent call last):
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root return infunc(*args, **kwargs)
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root self.consume()
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root six.next(it)
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root yield self.ensure(
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root return method(*args, **kwargs)
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root queues_
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root self.queue.
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root nowait=nowait)
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root (60, 21), # Channel.
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root return self.dispatch_
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root return amqp_method(self, args)
2014-11-12 02:00:23.021 3027 TRACE root File "/usr/lib/
2014-11-12 02:00:23.021 3027 TRACE root raise ChannelError(
2014-11-12 02:00:23.021 3027 TRACE root ChannelError: 404: (NOT_FOUND - no queue 'q-agent-
2014-11-12 02:00:23.021 3027 TRACE root
2014-11-12 02:01:24.268 3027 ERROR root [-] Unexpected exception occurred 61 time(s)... retrying.
2014-11-12 02:01:24.268 3027 TRACE root Traceback (most recent call last):
2014-11-12 02:01:24.268 3027 TRACE root File "/usr/lib/
2014-11-12 02:01:24.268 3027 TRACE root return infunc(*args, **kwargs)
2014-11-12 02:01:24.268 3027 TRACE root File "/usr/lib/
-------
[Impact]
This patch addresses an issue under a RabbitMQ HA deployment where neutron-
[Test Case]
Note steps are for trusty-icehouse, including neutron package 1:2014.
Deploy an OpenStack cloud w/ multiple rabbit nodes and then abruptly kill one of the rabbit nodes (e.g. sudo service rabbitmq-server stop, etc). Observe that the neutron agents stopped to consume messages and keep throw no queue 'q-agent-
[Regression Potential]
The regression potential is low. The fix is fairly minimal and is limited to the code path where a 404 error occurs.
[Other Info]
Oslo library has this fix, but due to Neutron is using kombu other than oslo library in Icehouse, it still suffer this issue.
Related branches
- Ubuntu Development Team: Pending requested
-
Diff: 66 lines (+42/-0)3 files modifieddebian/changelog (+9/-0)
debian/patches/fix-neutron-agent-fanout-queue-not-found-loop.patch (+32/-0)
debian/patches/series (+1/-0)
description: | updated |
description: | updated |
Changed in neutron: | |
status: | Expired → Confirmed |
description: | updated |
tags: | added: patch |
Changed in neutron (Ubuntu): | |
importance: | Undecided → Medium |
Changed in neutron (Ubuntu Trusty): | |
importance: | Undecided → Medium |
description: | updated |
tags: | added: sts-sru |
Changed in neutron: | |
status: | Confirmed → Invalid |
no longer affects: | neutron (Ubuntu) |
The essential part of the issue are those conditions that trigger it. Marking as Incomplete for now