Modify message queue content for Kilo

Modify message queue content for Kilo as follows:

1) Use upstream repository to obtain recent version of RabbitMQ.

   * Only impacts Ubuntu.

2) Create "openstack" account instead of using the "guest"
   account.

3) Replace "message broker" with "message queue" to improve
   wording.

   * Additional patches should implement this change.

Change-Id: Ieb126c768e32cb5b479468b31cd7e4f63537ff2e
Implements: blueprint installguide-kilo
Closes-Bug: #1423155
This commit is contained in:
Matthew Kassawara 2015-03-25 12:44:13 -05:00
parent f898fa50da
commit 7f22fadf41

View File

@ -3,18 +3,18 @@
xmlns:xi="http://www.w3.org/2001/XInclude" xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"
version="5.0" version="5.0"
xml:id="basics-messaging-server"> xml:id="basics-message-queue">
<?dbhtml stop-chunking?> <?dbhtml stop-chunking?>
<title>Messaging server</title> <title>Message queue</title>
<para>OpenStack uses a <glossterm>message broker</glossterm> to coordinate <para>OpenStack uses a <glossterm>message queue</glossterm> to coordinate
operations and status information among services. The message broker operations and status information among services. The message queue
service typically runs on the controller node. OpenStack supports several service typically runs on the controller node. OpenStack supports several
message brokers including <application>RabbitMQ</application>, message queue services including <application>RabbitMQ</application>,
<application>Qpid</application>, and <application>ZeroMQ</application>. <application>Qpid</application>, and <application>ZeroMQ</application>.
However, most distributions that package OpenStack support a particular However, most distributions that package OpenStack support a particular
message broker. This guide covers the RabbitMQ message broker which is message queue service. This guide implements the RabbitMQ message queue
supported by each distribution. If you prefer to implement a service because most distributions support it. If you prefer to implement
different message broker, consult the documentation associated a different message queue service, consult the documentation associated
with it.</para> with it.</para>
<itemizedlist> <itemizedlist>
<listitem> <listitem>
@ -28,8 +28,23 @@
</listitem> </listitem>
</itemizedlist> </itemizedlist>
<procedure> <procedure>
<title>To install the <application>RabbitMQ</application> message broker service</title> <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"> <step os="ubuntu;debian">
<para>Install the package:</para>
<screen><prompt>#</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen> <screen><prompt>#</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen>
</step> </step>
<step os="rhel;centos;fedora"> <step os="rhel;centos;fedora">
@ -40,9 +55,9 @@
</step> </step>
</procedure> </procedure>
<procedure> <procedure>
<title>To configure the message broker service</title> <title>To configure the message queue service</title>
<step os="rhel;centos;fedora;sles;opensuse"> <step os="rhel;centos;fedora;sles;opensuse">
<para>Start the message broker service and configure it to start when the <para>Start the message queue service and configure it to start when the
system boots:</para> system boots:</para>
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl enable rabbitmq-server.service</userinput> <screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl enable rabbitmq-server.service</userinput>
<prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen> <prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen>
@ -54,64 +69,17 @@
<prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen> <prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen>
</step> </step>
<step> <step>
<para>The message broker creates a default account that uses <para>Add the <literal>openstack</literal> user:</para>
<literal>guest</literal> for the username and password. To simplify <screen><prompt>#</prompt> <userinput>rabbitmqctl add_user openstack <replaceable>RABBIT_PASS</replaceable></userinput>
installation of your test environment, we recommend that you use this <computeroutput>Creating user "openstack" ...</computeroutput></screen>
account, but change the password for it.</para>
<para>Run the following command:</para>
<para>Replace <replaceable>RABBIT_PASS</replaceable> with a suitable <para>Replace <replaceable>RABBIT_PASS</replaceable> with a suitable
password.</para> password.</para>
<screen><prompt>#</prompt> <userinput>rabbitmqctl change_password guest <replaceable>RABBIT_PASS</replaceable></userinput>
<computeroutput>Changing password for user "guest" ...
...done.</computeroutput></screen>
<para>You must configure the <literal>rabbit_password</literal> key
in the configuration file for each OpenStack service that uses the
message broker.</para>
<note>
<para>For production environments, you should create a unique account
with a suitable password. For more information on securing the
message broker, see the
<link xlink:href="https://www.rabbitmq.com/man/rabbitmqctl.1.man.html"
>documentation</link>.</para>
<para>If you decide to create a unique account with a suitable password
for your test environment, you must configure the
<literal>rabbit_userid</literal> and
<literal>rabbit_password</literal> keys in the configuration file
of each OpenStack service that uses the message broker.</para>
</note>
</step> </step>
<step> <step>
<para>For RabbitMQ version 3.3.0 or newer, you must enable remote <para>Permit configuration, write, and read access for the
access for the <literal>guest</literal> account.</para> <literal>openstack</literal> user:</para>
<substeps> <screen><prompt>#</prompt> <userinput>rabbitmqctl set_permissions openstack ".*" ".*" ".*"</userinput>
<step> <computeroutput>Setting permissions for user "openstack" in vhost "/" ...</computeroutput></screen>
<para>Check the RabbitMQ version:</para>
<screen><prompt>#</prompt> <userinput>rabbitmqctl status | grep rabbit</userinput>
<computeroutput>Status of node 'rabbit@controller' ...
{running_applications,[{rabbit,"RabbitMQ","3.4.2"},</computeroutput></screen>
</step>
<step>
<para>If necessary, edit the
<filename>/etc/rabbitmq/rabbitmq.config</filename>
file and configure <literal>loopback_users</literal> to
reference an empty list:</para>
<programlisting>[{rabbit, [{loopback_users, []}]}].</programlisting>
<note>
<para>Contents of the original file might vary depending on the
source of the RabbitMQ package. In some cases, you might need
to create this file.</para>
</note>
</step>
<step>
<para>Restart the message broker service:</para>
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service rabbitmq-server restart</userinput></screen>
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl restart rabbitmq-server.service</userinput></screen>
<para os="sles">On SLES:</para>
<screen os="sles"><prompt>#</prompt> <userinput>service rabbitmq-server restart</userinput></screen>
<para os="opensuse">On openSUSE:</para>
<screen os="opensuse"><prompt>#</prompt> <userinput>systemctl restart rabbitmq-server.service</userinput></screen>
</step>
</substeps>
</step> </step>
</procedure> </procedure>
</section> </section>