Bug 1373146 - Neutron-server refuses to start with "PreconditionFailed: Exchange.declare: (406) PRECONDITION_FAILED - cannot redeclare exchange"
Summary: Neutron-server refuses to start with "PreconditionFailed: Exchange.declare: (...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-oslo-messaging
Version: 7.0 (Kilo)
Hardware: x86_64
OS: Linux
high
high
Target Milestone: async
: 7.0 (Kilo)
Assignee: John Eckersberg
QA Contact: Ofer Blaut
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-09-05 10:52 UTC by Pablo Iranzo Gómez
Modified: 2022-08-10 09:44 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-09-07 09:23:00 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker OSP-7823 0 None None None 2022-08-10 09:44:17 UTC
Red Hat Knowledge Base (Solution) 2599511 0 None None None 2016-09-05 10:52:59 UTC

Description Pablo Iranzo Gómez 2016-09-05 10:52:32 UTC
Description of problem:

After controllers were restarted (even with latest packages as of today), some errors are listed on pcs status and on the logs:

/var/log/neutron/openvswitch-agent.log:2016-09-05 10:10:19.456 19131 TRACE neutron PreconditionFailed: Exchange.declare: (406) PRECONDITION_FAILED - cannot redeclare exchange 'q-agent-notifier-port-update_fanout' in vhost '/' with different type, durable, internal or autodelete value


Same error has been seen on scheduler-fanout and q-l3-plugin.

Comment 18 Pablo Caruana 2016-09-07 09:23:48 UTC
Problem is solved. 

Finally  the problem was introduced  manually as  modified a shared python library to avoid a 'deprecated' warning in the controllers  while debugging some other problem with cinder. The side effect for the rest of the platform was that the exchanges were created with AutoDelete flag set to False even if the routine was called with the argument set to True.

$ diff /usr/lib/python2.7/site-packages/amqp/channel.py /usr/lib/python2.7/site-packages/amqp/channel.py.FILE_MODIFIED
<         args.write_bit(auto_delete)
---
>         args.write_bit(False)  # internal: deprecated


Additionally detection, consider modifying /etc/sos.conf to enable:

rpm.rpmva = on

For running the rpm -va and detecting this kind of situations.

Closing this bugzilla.


Note You need to log in before you can comment on or make changes to this bug.