RabbitMQ

RabbitMQ is a message broker software. It enables the various part of Openstack to communicate together.

Configuration

Configuration Description Default
rabbit_names An array of rabbit servers hostnames An array of the controller hostnames
rabbit_hosts An array of rabbit servers ip addresses An array of the controller node ip with the port ‘:5672’ suffixed
rabbit_password RabbitMQ password rabbitpassword
rabbit_cluster_node_type RabbitMQ cluster node type disc
rabbit_port Port on which RabbitMQ will listen on 5672
rabbit_ip Ip address of RabbitMQ interface IP of the node it is one
rabbit Boolean to described if RabbitMQ should be load balanced false
rabbit_bind_options An array of HAProxy bind options Global HAProxy binding options array
erlang_cookie Erlang cookie to use No default, the parameter is required
rabbit_cluster_count Number of nodes where queues are mirrored undef, so all RabbitMQ nodes will be mirrored

Upgrade from I.1.3.0 to J.1.0.0

This is a special note when upgrading from I.1.3.0 to J.1.0.0. Due to the new puppetlabs-rabbitmq implementation, a new parameter is now required in the environment file: erlang_cookie.

If you are already running Spinal Stack I.1.3.0 and you want to upgrade to J.1.0.0, you will have to look at the current content of /var/lib/rabbitmq/.erlang.cookie and copy it to erlang_cookie parameter, so your upgrade will work correctly. If you miss that part, Spinal Stack will take care of re-building the RabbitMQ cluster, but you’ll have to expect some downtime.

If you miss the parameter in your env, config-tools scripts (configure.sh) will fail to run. It prevents to install Spinal Stack without cookie so RabbitMQ-server could not work properly.