openstack-manuals/doc/high-availability-guide/ap-cinder-api.txt
Andreas Jaeger 18be804cdb Better follow conventions in HA Guide
Follow our conventions for title capitalization and usage of
project/service names.

Follow conventions on using active voice, no -ing for titles.

Co-Authored-By: Diane Fleming <diane.fleming@rackspace.com>

Change-Id: I05e368f8dda436454d2daca1a6775105032a39fc
Partial-Bug: #1217503
2014-05-12 16:06:26 -04:00

75 lines
2.6 KiB
Plaintext

[[s-cinder-api]]
==== Highly available Block Storage API
Making the Block Storage (cinder) API service highly available in active / passive mode involves
* Configure Block Storage to listen on the VIP address,
* managing Block Storage API daemon with the Pacemaker cluster manager,
* Configure OpenStack services to use this IP address.
NOTE: Here is the
http://docs.openstack.org/trunk/install-guide/install/apt/content/ch_cinder.html[documentation]
for installing Block Storage service.
===== Add Block Storage API resource to Pacemaker
First of all, you need to download the resource agent to your system:
----
cd /usr/lib/ocf/resource.d/openstack
wget https://raw.github.com/madkiss/openstack-resource-agents/master/ocf/cinder-api
chmod a+rx *
----
You can now add the Pacemaker configuration for
Block Storage API resource. Connect to the Pacemaker cluster with +crm
configure+, and add the following cluster resources:
----
include::includes/pacemaker-cinder_api.crm[]
----
This configuration creates
* +p_cinder-api+, a resource for manage Block Storage API service
+crm configure+ 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 +edit p_ip_cinder-api+ from the
+crm configure+ menu and edit the resource to match your preferred
virtual IP address.
Once completed, commit your configuration changes by entering +commit+
from the +crm configure+ menu. Pacemaker will then start the Block Storage API
service, and its dependent resources, on one of your nodes.
===== Configure Block Storage API service
Edit +/etc/cinder/cinder.conf+:
----
# We have to use MySQL connection to store data:
sql_connection=mysql://cinder:password@192.168.42.101/cinder
# We bind Block Storage API to the VIP:
osapi_volume_listen = 192.168.42.103
# We send notifications to High Available RabbitMQ:
notifier_strategy = rabbit
rabbit_host = 192.168.42.102
----
===== Configure OpenStack services to use highly available Block Storage API
Your OpenStack services must now point their Block Storage API configuration to
the highly available, virtual cluster IP address -- rather than a
Block Storage API server's physical IP address as you normally would.
You must create the Block Storage API endpoint with this IP.
NOTE: If you are using both private and public IP, you should create two Virtual IPs and define your endpoint like this:
----
keystone endpoint-create --region $KEYSTONE_REGION --service-id $service-id --publicurl 'http://PUBLIC_VIP:8776/v1/%(tenant_id)s' --adminurl 'http://192.168.42.103:8776/v1/%(tenant_id)s' --internalurl 'http://192.168.42.103:8776/v1/%(tenant_id)s'
----