.. _external-rabbitmq-guide: ================= External RabbitMQ ================= Sometimes, for various reasons (Redundancy, organisational policies, etc.), it might be necessary to use an external RabbitMQ cluster. This use case can be achieved with the following steps: Requirements ~~~~~~~~~~~~ * An existing RabbitMQ cluster, reachable from all of your nodes. Enabling External RabbitMQ support ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In order to enable external RabbitMQ support, you will first need to disable RabbitMQ deployment, by ensuring the following line exists within ``/etc/kolla/globals.yml`` : .. code-block:: yaml enable_rabbitmq: "no" Overwriting transport_url within ``globals.yml`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When you use an external RabbitMQ cluster, you must overwrite ``*_transport_url`` within ``/etc/kolla/globals.yml`` .. code-block:: yaml rpc_transport_url: notify_transport_url: nova_cell_rpc_transport_url: nova_cell_notify_transport_url: For example: .. code-block:: yaml rpc_transport_url: rabbit://openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.1:5672,openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.2:5672,openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.3:5672// notify_transport_url: "{{ rpc_transport_url }}" nova_cell_rpc_transport_url: rabbit://openstack:6Y6Eh3blPXB1Qn4190JKxRoyVhTaFsY2k2V0DuIc@10.0.0.1:5672// nova_cell_notify_transport_url: "{{ nova_cell_rpc_transport_url }}" .. note:: Ensure the rabbitmq user used in ``*_transport_url`` exists.