We have to configure the OpenStack components to use at least two RabbitMQ nodes.
Do this configuration on all services using RabbitMQ:
RabbitMQ HA cluster host:port pairs:
rabbit_hosts=rabbit1:5672,rabbit2:5672
How frequently to retry connecting with RabbitMQ:
rabbit_retry_interval=1
How long to back-off for between retries when connecting to RabbitMQ:
rabbit_retry_backoff=2
Maximum retries with trying to connect to RabbitMQ (infinite by default):
rabbit_max_retries=0
Use durable queues in RabbitMQ:
rabbit_durable_queues=false
Use H/A queues in RabbitMQ (x-ha-policy: all):
rabbit_ha_queues=true
If you change the configuration from an old setup which did not use HA queues, you should interrupt the service:
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl start_app
Services currently working with HA queues: OpenStack Compute, OpenStack Block Storage, OpenStack Networking, Telemetry.