
The XML root element of Docbook XML files should match the following format: <ELEMENT 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="THE_XML_ID_OF_THE_ELEMENT"> Change-Id: I47786e5f70b64e1b14d1015ec5613a538ef8fc52
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</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
Configure OpenStack Networking to listen on the VIP address,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
managing OpenStack Networking API Server daemon with the Pacemaker cluster manager,
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Configure OpenStack services to use this IP address.
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<note>
|
||
<para>Here is the <link xlink:href="http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_installing-openstack-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="secrete" 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>
|