0cd5218f50
Closes-Bug: #1352053 Minor ormatting, capitalization and verb tense corrections Corrections to IP addresses in some examples and replacing "VIP" with "virtual IP" for simplicity. Calling out split-brain possibility in 2-node cluster with required quorum override Amended with feedback from Andreas Jaeger and Christian Berendt on patch set 1 and 2 Change-Id: I1cc532d73483ad82d1ceaec92a8caf11071a7d0e
94 lines
4.9 KiB
XML
94 lines
4.9 KiB
XML
<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="s-neutron-server">
|
||
|
||
<title>Highly available OpenStack Networking server</title>
|
||
|
||
<para>OpenStack Networking is the network connectivity service in OpenStack.
|
||
Making the OpenStack Networking Server service highly available in active / passive mode involves the following tasks:</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
Configure OpenStack Networking to listen on the virtual IP address,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Manage the OpenStack Networking API Server daemon with the Pacemaker cluster manager,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Configure OpenStack services to use the virtual IP address.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<note>
|
||
<para>Here is the <link xlink:href="http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_networking.html">documentation</link> for installing OpenStack Networking service.</para>
|
||
</note>
|
||
<section xml:id="_add_openstack_networking_server_resource_to_pacemaker">
|
||
|
||
<title>Add OpenStack Networking Server resource to Pacemaker</title>
|
||
|
||
<para>First of all, you need to download the resource agent to your system:</para>
|
||
<screen><prompt>#</prompt> <userinput>cd /usr/lib/ocf/resource.d/openstack</userinput>
|
||
<prompt>#</prompt> <userinput>wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/neutron-server</userinput>
|
||
<prompt>#</prompt> <userinput>chmod a+rx *</userinput></screen>
|
||
<para>You can now add the Pacemaker configuration for
|
||
OpenStack Networking Server resource. Connect to the Pacemaker cluster with <literal>crm
|
||
configure</literal>, and add the following cluster resources:</para>
|
||
<programlisting>primitive p_neutron-server ocf:openstack:neutron-server \
|
||
params os_password="secret" os_username="admin" os_tenant_name="admin" \
|
||
keystone_get_token_url="http://192.168.42.103:5000/v2.0/tokens" \
|
||
op monitor interval="30s" timeout="30s"</programlisting>
|
||
<para>This configuration creates <literal>p_neutron-server</literal>, a resource for manage OpenStack Networking Server service</para>
|
||
<para><literal>crm configure</literal> supports batch input, so you may copy and paste the
|
||
above into your live pacemaker configuration, and then make changes as
|
||
required. For example, you may enter <literal>edit p_neutron-server</literal> from the
|
||
<literal>crm configure</literal> menu and edit the resource to match your preferred
|
||
virtual IP address.</para>
|
||
<para>Once completed, commit your configuration changes by entering <literal>commit</literal>
|
||
from the <literal>crm configure</literal> menu. Pacemaker will then start the OpenStack Networking API
|
||
service, and its dependent resources, on one of your nodes.</para>
|
||
</section>
|
||
<section xml:id="_configure_openstack_networking_server">
|
||
|
||
<title>Configure OpenStack Networking server</title>
|
||
|
||
<para>Edit <filename>/etc/neutron/neutron.conf</filename>:</para>
|
||
<programlisting language="ini"># We bind the service to the VIP:
|
||
bind_host = 192.168.42.103
|
||
|
||
# We bind OpenStack Networking Server to the VIP:
|
||
bind_host = 192.168.42.103
|
||
|
||
# We send notifications to Highly available RabbitMQ:
|
||
notifier_strategy = rabbit
|
||
rabbit_host = 192.168.42.102
|
||
|
||
[database]
|
||
# We have to use MySQL connection to store data:
|
||
connection = mysql://neutron:password@192.168.42.101/neutron</programlisting>
|
||
</section>
|
||
<section xml:id="_configure_openstack_services_to_use_highly_available_openstack_networking_server">
|
||
|
||
<title>Configure OpenStack services to use highly available OpenStack Networking server</title>
|
||
|
||
<para>Your OpenStack services must now point their OpenStack Networking Server configuration to
|
||
the highly available, virtual cluster IP address — rather than an
|
||
OpenStack Networking server’s physical IP address as you normally would.</para>
|
||
<para>For example, you should configure OpenStack Compute for using highly available OpenStack Networking server in editing <literal>nova.conf</literal> file:</para>
|
||
<programlisting language="ini">neutron_url = http://192.168.42.103:9696</programlisting>
|
||
<para>You need to create the OpenStack Networking server endpoint with this IP.</para>
|
||
<note>
|
||
<para>If you are using both private and public IP addresses, you should create two Virtual IP addresses and define your endpoint like this:</para>
|
||
</note>
|
||
<screen><prompt>$</prompt> <userinput>keystone endpoint-create --region $KEYSTONE_REGION --service-id $service-id \
|
||
--publicurl 'http://PUBLIC_VIP:9696/' \
|
||
--adminurl 'http://192.168.42.103:9696/' \
|
||
--internalurl 'http://192.168.42.103:9696/'</userinput></screen>
|
||
</section>
|
||
</section>
|