
To start rabbitmq-server, epmd needs to listen on the controller IP. I'm discussing this in bugzilla now but want to document this behaviour so that others will not run into it. Change-Id: I9406ed002b68e8b5c9c60b7a07a10673096a527d
89 lines
4.2 KiB
XML
89 lines
4.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
version="5.0"
|
|
xml:id="basics-message-queue">
|
|
<?dbhtml stop-chunking?>
|
|
<title>Message queue</title>
|
|
<para>OpenStack uses a <glossterm>message queue</glossterm> to coordinate
|
|
operations and status information among services. The message queue
|
|
service typically runs on the controller node. OpenStack supports several
|
|
message queue services including
|
|
<link xlink:href="http://www.rabbitmq.com">RabbitMQ</link>,
|
|
<link xlink:href="http://qpid.apache.org">Qpid</link>, and
|
|
<link xlink:href="http://zeromq.org">ZeroMQ</link>.
|
|
However, most distributions that package OpenStack support a particular
|
|
message queue service. This guide implements the RabbitMQ message queue
|
|
service because most distributions support it. If you prefer to implement
|
|
a different message queue service, consult the documentation associated
|
|
with it.</para>
|
|
<procedure>
|
|
<title>To install the message queue service</title>
|
|
<step os="ubuntu">
|
|
<para>Add the upstream repository key:</para>
|
|
<screen><prompt>#</prompt> <userinput>curl -O https://www.rabbitmq.com/rabbitmq-signing-key-public.asc</userinput>
|
|
<prompt>#</prompt> <userinput>apt-key add rabbitmq-signing-key-public.asc</userinput></screen>
|
|
</step>
|
|
<step os="ubuntu">
|
|
<para>Add the upstream repository:</para>
|
|
<screen><prompt>#</prompt> <userinput>echo "deb http://www.rabbitmq.com/debian/ testing main" \
|
|
> /etc/apt/sources.list.d/rabbitmq.list</userinput></screen>
|
|
</step>
|
|
<step os="ubuntu">
|
|
<para>Update the package database:</para>
|
|
<screen><prompt>#</prompt> <userinput>apt-get update</userinput></screen>
|
|
</step>
|
|
<step os="ubuntu;debian">
|
|
<para>Install the package:</para>
|
|
<screen><prompt>#</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen>
|
|
</step>
|
|
<step os="rhel;centos;fedora">
|
|
<screen><prompt>#</prompt> <userinput>yum install rabbitmq-server</userinput></screen>
|
|
</step>
|
|
<step os="sles;opensuse">
|
|
<screen><prompt>#</prompt> <userinput>zypper install rabbitmq-server</userinput></screen>
|
|
</step>
|
|
</procedure>
|
|
<procedure>
|
|
<title>To configure the message queue service</title>
|
|
<step os="sles;opensuse"><para>Configure access to epmd on the controller IP:</para>
|
|
<screen><prompt>#</prompt> <userinput>cp /usr/lib/systemd/system/epmd.socket /etc/systemd/system/</userinput></screen>
|
|
|
|
<para>Edit <filename>/etc/systemd/system/epmd.socket</filename>
|
|
and add a second <code>ListenStream</code> line:</para>
|
|
<programlisting>ListenStream=10.0.0.11:4369</programlisting>
|
|
<para>Reload systemd files:</para>
|
|
<screen><prompt>#</prompt> <userinput>systemctl daemon-reload</userinput></screen>
|
|
<note>
|
|
<para>
|
|
This is discussed in <link
|
|
xlink:href="https://bugzilla.opensuse.org/show_bug.cgi?id=927301">openSUSE
|
|
bug#927301</link>.
|
|
</para>
|
|
</note>
|
|
</step>
|
|
<step os="rhel;centos;fedora;sles;opensuse">
|
|
<para>Start the message queue service and configure it to start when the
|
|
system boots:</para>
|
|
<screen os="rhel;centos;fedora;sles;opensuse"><prompt>#</prompt> <userinput>systemctl enable rabbitmq-server.service</userinput>
|
|
<prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen>
|
|
</step>
|
|
<step>
|
|
<para>Add the <literal>openstack</literal> user:</para>
|
|
<screen><prompt>#</prompt> <userinput>rabbitmqctl add_user openstack <replaceable>RABBIT_PASS</replaceable></userinput>
|
|
<computeroutput>Creating user "openstack" ...
|
|
...done.</computeroutput></screen>
|
|
<para>Replace <replaceable>RABBIT_PASS</replaceable> with a suitable
|
|
password.</para>
|
|
</step>
|
|
<step>
|
|
<para>Permit configuration, write, and read access for the
|
|
<literal>openstack</literal> user:</para>
|
|
<screen><prompt>#</prompt> <userinput>rabbitmqctl set_permissions openstack ".*" ".*" ".*"</userinput>
|
|
<computeroutput>Setting permissions for user "openstack" in vhost "/" ...
|
|
...done.</computeroutput></screen>
|
|
</step>
|
|
</procedure>
|
|
</section>
|