openstack-manuals/doc/install-guide/section_basics-queue.xml
Pranav Salunke 9ce6fb1e85 install-guide: Adds note to restart epmd.socket
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
2015-04-20 20:18:35 +02:00

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>