Need help with Rabbitmq error after creating a second external network.

asked 2014-04-21 15:48:20 -0600

Gil_McGrath gravatar image

I have a standard openstack havana environment (built by FUEL 4.1). I have manually configured in a second external network (with its own l3 agent). BTW - both external networks seem to be behaving as expected except that after doing any network provisioning activity (e.g. create a port, vm, etc) I get the following errors in /var/log/rabbitmq:

channel 1 - error: {amqp_error,precondition_failed, "inequivalent arg 'x-ha-policy'for queue '' in vhost '/': received the value 'all' of type 'longstr' but current is none", 'queue.declare'}

I tried deleting the queue , but that did not resolve the issue.

Interesting that before the creating the second external network the output of "rabbitmqadmin list queues name consumers durable" was: | 0 | False
but when I issue the same command after configuring the second external network is: | 29 | False

I am not sure where to look or what how to resolve this issue. Any help would be appreciated.

edit retag flag offensive close merge delete


Do you currently have rabbitmq setup as highly available? HA and durable queues are for when you have multiple message brokers sharing data. Are you currently doing that? If not, please post your relevant neutron configs for review

SamYaple gravatar imageSamYaple ( 2014-04-21 15:54:39 -0600 )edit

I am not deploying an HA fuel environment. There is only a single rabbitmq server and child running.

Also, in neutron.conf rabbit_ha_queues = True. This is the only config file with this set to true. I thought that this was the problem so I set it to False and restarted neutron server and neutron started spewing all kinds of rabbit errors, so I put it back. It is interesting that every thing work fine with these setting before I added in the second external network.

Gil_McGrath gravatar imageGil_McGrath ( 2014-04-22 07:44:09 -0600 )edit

I am not a rabbitmq expert, but I believe that the first time the queue got created it was created as HA. Disable all the HA options in the neutron config, delete the rabbitmq queue, start a single neutron node. When that works, add a second one. The first answer from this stackoverflow question explains how to delete one or all rabbitmq queues.

EDIT: I should mention that you can just remove the HA flags from the queue, its just more complicated that starting from scratch.

SamYaple gravatar imageSamYaple ( 2014-04-22 08:26:00 -0600 )edit