Highly available OpenStack Image API 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: Configure OpenStack Image to listen on the VIP address. Manage OpenStack Image API daemon with the Pacemaker cluster manager. Configure OpenStack services to use this IP address. Here is the documentation for installing OpenStack Image API service.
Add OpenStack Image 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/glance-api chmod a+rx * You can now add the Pacemaker configuration for OpenStack Image API resource. Connect to the Pacemaker cluster with crm configure, and add the following cluster resources: 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" This configuration creates p_glance-api, a resource for manage OpenStack Image 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_glance-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 OpenStack Image API service, and its dependent resources, on one of your nodes.
Configure OpenStack Image Service API Edit /etc/glance/glance-api.conf: # 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
Configure OpenStack services to use high available OpenStack Image API 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. 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 nova.conf file: glance_api_servers = 192.168.42.103 You must also create the OpenStack Image API endpoint with this IP. If you are using both private and public IP addresses, you should create two Virtual IP addresses and define your endpoint like this: 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'