
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
100 lines
5.0 KiB
XML
100 lines
5.0 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-glance-api">
|
||
|
||
<title>Highly available OpenStack Image API</title>
|
||
|
||
<para>OpenStack Image Service offers a service for discovering, registering, and retrieving virtual machine images.
|
||
To make the OpenStack Image API service highly available in active / passive mode, you must:</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>
|
||
Configure OpenStack Image to listen on the VIP address.
|
||
</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>
|
||
Manage OpenStack Image API 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-image.html">documentation</link> for installing OpenStack Image API service.</para>
|
||
</note>
|
||
<section xml:id="_add_openstack_image_api_resource_to_pacemaker">
|
||
|
||
<title>Add OpenStack Image API 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/glance-api</userinput>
|
||
<prompt>#</prompt> <userinput>chmod a+rx *</userinput></screen>
|
||
<para>You can now add the Pacemaker configuration for
|
||
OpenStack Image API resource. Connect to the Pacemaker cluster with <literal>crm
|
||
configure</literal>, and add the following cluster resources:</para>
|
||
<programlisting>primitive p_glance-api ocf:openstack:glance-api \
|
||
params config="/etc/glance/glance-api.conf" os_password="secrete" os_username="admin" os_tenant_name="admin" os_auth_url="http://192.168.42.103:5000/v2.0/" \
|
||
op monitor interval="30s" timeout="30s"</programlisting>
|
||
<para>This configuration creates</para>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><literal>p_glance-api</literal>, a resource for manage OpenStack Image API service
|
||
</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
<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_ip_glance-api</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 Image API
|
||
service, and its dependent resources, on one of your nodes.</para>
|
||
</section>
|
||
<section xml:id="_configure_openstack_image_service_api">
|
||
|
||
<title>Configure OpenStack Image Service API</title>
|
||
|
||
<para>Edit <filename>/etc/glance/glance-api.conf</filename>:</para>
|
||
<programlisting language="ini"># We have to use MySQL connection to store data:
|
||
sql_connection=mysql://glance:password@192.168.42.101/glance
|
||
|
||
# We bind OpenStack Image API to the VIP:
|
||
bind_host = 192.168.42.103
|
||
|
||
# Connect to OpenStack Image Registry service:
|
||
registry_host = 192.168.42.103
|
||
|
||
# We send notifications to High Available RabbitMQ:
|
||
notifier_strategy = rabbit
|
||
rabbit_host = 192.168.42.102</programlisting>
|
||
</section>
|
||
<section xml:id="_configure_openstack_services_to_use_high_available_openstack_image_api">
|
||
|
||
<title>Configure OpenStack services to use high available OpenStack Image API</title>
|
||
|
||
<para>Your OpenStack services must now point their OpenStack Image API configuration to
|
||
the highly available, virtual cluster IP address — rather than an
|
||
OpenStack Image API server’s physical IP address as you normally would.</para>
|
||
<para>For OpenStack Compute, for example, if your OpenStack Image API service IP address is
|
||
192.168.42.104 as in the configuration explained here, you would use
|
||
the following line in your <filename>nova.conf</filename> file:</para>
|
||
<programlisting language="ini">glance_api_servers = 192.168.42.103</programlisting>
|
||
<para>You must also create the OpenStack Image API 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:9292' \
|
||
--adminurl 'http://192.168.42.103:9292' \
|
||
--internalurl 'http://192.168.42.103:9292'</userinput></screen>
|
||
</section>
|
||
</section>
|