Cannot publish errors to ceilometer

Bug #1348115 reported by Li Ma
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Ceilometer
Invalid
Low
Unassigned
oslo.messaging
Expired
Undecided
Unassigned

Bug Description

I tried to test sending 'notification-errors' to ceilometer to report ERROR log in neutron, but I failed with RuntimeError:

RuntimeError: maximum recursion depth exceeded

It seems that the ERROR message causes infinite loop on notifying to ceilometer.

The traceback is linked at: http://paste.openstack.org/show/87907/

Revision history for this message
Eugene Nikanorov (enikanorov) wrote :

I see python2.6 in the trace. Is the problem specific to py26? What operation system are you using and what is neutron version?

Changed in neutron:
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Li Ma (nick-ma-z) wrote :

Distro: RHEL 6.5
Python: 2.6.6
Neutron: icehouse stable release

I checked the git master before, I think the code are the same. I'm not sure whether it is related with python 2.6, I'll try to find other environments.

This can be easily reproduced by:

setting publish_errors = True in neutron.conf

after you make notification work well.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
Revision history for this message
David Hill (david-hill-ubisoft) wrote :

We have a similar issue here but without Neutron...

Changed in neutron:
status: Expired → New
Revision history for this message
David Hill (david-hill-ubisoft) wrote :

We're using :
openstack-ceilometer-compute-2014.1.3

affects: neutron → ceilometer
Revision history for this message
gordon chung (chungg) wrote :

based on the paste this doesn't seem to be a ceilometer issue. i've added oslo.messaging.

Revision history for this message
Doug Hellmann (doug-hellmann) wrote :

It looks like this might be an interaction between the RPC and logging notifiers. Which notifier plugins do you have active?

Changed in oslo.messaging:
status: New → Incomplete
Revision history for this message
gordon chung (chungg) wrote :

marking ceilometer part invalid as based on logs, it never reaches queue. ceilometer currently listens to error priority as of kilo

Changed in ceilometer:
status: New → Invalid
Revision history for this message
Sachin (smanpathak) wrote :

I saw this in the context of cinder volume service. Basically, if one sets following options in the openstack service config (cinder.conf in this example)
notification_driver=messaging
publish_errors=True

After this, if the rpc connection breaks, the oslo.messaging code invokes LOG.error, which in turn calls oslo.rpc and recursion ensues.
The worst part is that all green threads eventually lock up. The service cannot continue even though rpc connection is restored.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for oslo.messaging because there has been no activity for 60 days.]

Changed in oslo.messaging:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.