Skip to content

Commit 8e8656f

Browse files
wchy1001markgoddard
authored andcommitted
Fix nova deployment failure when rabbitmq is disabled
Nova always tries to create the rabbitmq user regardless of whether RabbitMQ is enabled or not. This ps also adds an external rabbitmq doc. Change-Id: Iec517226e4c82ea351889b55689a3efceaadcc76 (cherry picked from commit 24d0814)
1 parent 2440168 commit 8e8656f

File tree

3 files changed

+57
-1
lines changed

3 files changed

+57
-1
lines changed

ansible/roles/nova-cell/tasks/rabbitmq.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,4 +24,6 @@
2424
- nova_cell_rpc_group_name != nova_cell_notify_group_name or
2525
nova_cell_rpc_rabbitmq_users != nova_cell_notify_rabbitmq_users
2626

27-
when: nova_cell_rpc_transport == 'rabbit'
27+
when:
28+
- nova_cell_rpc_transport == 'rabbit'
29+
- enable_rabbitmq | bool
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
.. _external-rabbitmq-guide:
2+
3+
=================
4+
External RabbitMQ
5+
=================
6+
7+
Sometimes, for various reasons (Redundancy, organisational policies, etc.),
8+
it might be necessary to use an external RabbitMQ cluster.
9+
This use case can be achieved with the following steps:
10+
11+
Requirements
12+
~~~~~~~~~~~~
13+
14+
* An existing RabbitMQ cluster, reachable from all of your
15+
nodes.
16+
17+
Enabling External RabbitMQ support
18+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
19+
20+
In order to enable external RabbitMQ support,
21+
you will first need to disable RabbitMQ deployment,
22+
by ensuring the following line exists within ``/etc/kolla/globals.yml`` :
23+
24+
.. code-block:: yaml
25+
26+
enable_rabbitmq: "no"
27+
28+
29+
Overwriting transport_url within ``globals.yml``
30+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
31+
32+
When you use an external RabbitMQ cluster, you must overwrite
33+
``*_transport_url`` within ``/etc/kolla/globals.yml``
34+
35+
.. code-block:: yaml
36+
37+
rpc_transport_url:
38+
notify_transport_url:
39+
nova_cell_rpc_transport_url:
40+
nova_cell_notify_transport_url:
41+
42+
For example:
43+
44+
.. code-block:: yaml
45+
46+
rpc_transport_url: rabbit://openstack:[email protected]:5672,openstack:[email protected]:5672,openstack:[email protected]:5672//
47+
notify_transport_url: "{{ rpc_transport_url }}"
48+
nova_cell_rpc_transport_url: rabbit://openstack:[email protected]:5672//
49+
nova_cell_notify_transport_url: "{{ nova_cell_rpc_transport_url }}"
50+
51+
.. note::
52+
53+
Ensure the rabbitmq user used in ``*_transport_url`` exists.

doc/source/reference/message-queues/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ This section describes configuration of message queue services.
88
:maxdepth: 1
99

1010
rabbitmq
11+
external-rabbitmq-guide

0 commit comments

Comments
 (0)