yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #01907
[Bug 1074132] Re: infinite child spawn loop when rabbit_durable_queues differs from rabbit server
** Changed in: glance/grizzly
Importance: Undecided => High
** Changed in: glance/grizzly
Status: New => Fix Released
** Changed in: glance/grizzly
Milestone: None => 2013.1
** Changed in: glance/grizzly
Assignee: (unassigned) => Brian Waldon (bcwaldon)
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1074132
Title:
infinite child spawn loop when rabbit_durable_queues differs from
rabbit server
Status in OpenStack Image Registry and Delivery Service (Glance):
Fix Released
Status in Glance grizzly series:
Fix Released
Bug description:
With a vanilla devstack install, set the following values in
/etc/glance/glance-api.conf:
workers = 1
notifier_strategy = noop
rabbit_password = secrete
rabbit_durable_queues = False
Restart glance-api - everything should be fine and notifications
should be pushed out to rabbit. Now change the following value:
rabbit_durable_queus = True
Restart glance-api - the service will enter an infinite loop where the
child process raises an exception that looks like the following and
exits, causing the parent to restart it:
2012-11-01 20:43:30 17554 TRACE glance self._connect()
2012-11-01 20:43:30 17554 TRACE glance File "/opt/stack/glance/glance/notifier/notify_kombu.py", line 121, in _connect
2012-11-01 20:43:30 17554 TRACE glance queue.declare()
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/kombu/entity.py", line 359, in declare
2012-11-01 20:43:30 17554 TRACE glance return (self.name and self.exchange.declare(nowait),
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/kombu/entity.py", line 151, in declare
2012-11-01 20:43:30 17554 TRACE glance nowait=nowait)
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/kombu/syn.py", line 14, in blocking
2012-11-01 20:43:30 17554 TRACE glance return __sync_current(fun, *args, **kwargs)
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/kombu/syn.py", line 40, in __eblocking__
2012-11-01 20:43:30 17554 TRACE glance return spawn(fun, *args, **kwargs).wait()
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 166, in wait
2012-11-01 20:43:30 17554 TRACE glance return self._exit_event.wait()
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 116, in wait
2012-11-01 20:43:30 17554 TRACE glance return hubs.get_hub().switch()
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 177, in switch
2012-11-01 20:43:30 17554 TRACE glance return self.greenlet.switch()
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 192, in main
2012-11-01 20:43:30 17554 TRACE glance result = function(*args, **kwargs)
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/amqplib/client_0_8/channel.py", line 843, in exchange_declare
2012-11-01 20:43:30 17554 TRACE glance (40, 11), # Channel.exchange_declare_ok
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/amqplib/client_0_8/abstract_channel.py", line 105, in wait
2012-11-01 20:43:30 17554 TRACE glance return amqp_method(self, args)
2012-11-01 20:43:30 17554 TRACE glance File "/usr/local/lib/python2.7/dist-packages/amqplib/client_0_8/channel.py", line 273, in _close
2012-11-01 20:43:30 17554 TRACE glance (class_id, method_id))
2012-11-01 20:43:30 17554 TRACE glance AMQPChannelException: (406, u"PRECONDITION_FAILED - cannot redeclare exchange 'glance' in vhost '/' with different type, durable, internal or autodelete value", (40, 10), 'Channel.exchange_declare')
I would expect the service to stop either before each child is created or after each child fails to start properly.
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1074132/+subscriptions