9ce6fb1e85
The epmd.socket may not start as required, adds a note to check if the service is working as required, if not restart the service. Change-Id: I643350da9f015083e5adb1c34a0046eff7e8dc21
96 lines
4.6 KiB
XML
96 lines
4.6 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>
|
|
<para>The epmd.socket service should be listening on the controller
|
|
management interface. Restart the service if required.
|
|
</para>
|
|
<para>
|
|
<screen><prompt>#</prompt> <userinput>systemctl status epmd.socket</userinput>
|
|
<prompt>#</prompt> <userinput>systemctl restart epmd.socket</userinput></screen>
|
|
</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>
|