aboutsummaryrefslogtreecommitdiff
path: root/doc/source/reference/message-queues/external-rabbitmq-guide.rst
blob: 571751657cbe815b0b1c0144f767be4104cc1154 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
.. _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: false


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.