OpenStack Infrastructure HA

Registered by Andres Rodriguez

Now that OpenStack has matured even more, High Availability is one of the components on which more concentration is required. HA support for certain components of the infrastructure have been provided in the form of Resource Agents, however, these do not address some of the uses cases.

In this session we will discuss the following:

HA for RabbitMQ
 - Active/Active
 - Active/Passive
HA for MySQL
 - Active/Passive - DRBD
 - Active/Active - Galera
Quamtum
 - quamtum-l3-agent (Active/Passive)
 - quamtum-dhcp-agent (Active/Passive)
 - quamtum-server (HAProxy)
Nova
 - nova-api (HAProxy)
 - nova-scheduler (HAProxy)
Cinder (HAProxy)
keystone (HAProxy)
Glance (Ceph)
 - glance-api
 - glance-registry

== Other ==
Ceph
 - Pacemaker support
Qpid

== Resource agents ==
openstack-resource-agents:
 - cinder-api
 - cinder-schedule
 - cinder-volume
 - glance-api
 - glance-registry
 - keystone
 - nova-api
 - nova-cert
 - nova-consoleauth
 - nova-network
 - nova-novnc
 - nova-scheduler
 - nova-volume
 - quantum-agent-dhcp
 - quantum-agent-l3
 - quantum-server

ceph-resource-agents

Blueprint information

Status:
Complete
Approver:
Dave Walker
Priority:
Essential
Drafter:
Ubuntu Server
Direction:
Approved
Assignee:
Andres Rodriguez
Definition:
Obsolete
Series goal:
Accepted for raring
Implementation:
Started
Milestone target:
milestone icon ubuntu-13.04
Started by
James Page
Completed by
Andres Rodriguez

Related branches

Sprints

Whiteboard

User Stories:

Ante wants to be able to deploy OpenStack with HA using Juju charms. However currently he is having to manually deploy HA after deploying the cloud with juju charms.

Risks:

Not all deployment scenarios might be covered by the hacluster charm.
Needs support for parent charm (hacluster is a subordinate charm)
Things like fencing/STONITH are needed to be considered for certain scenarios.
Many configuration options, for which not all might be able to be covered in the charms.

Test Plans:

Deployment and failure testing in the OpenStack QA lab.

Release Note:

-- andreserl - please complete the rest of the blueprint spec for this blueprint.

(?)

Work Items

Work items:
[andreserl] develop juju charms for HA (corosync/pacemaker): DONE
[jamespage] haproxy charm HA support: DONE
[andreserl] quantum charm HA support: DONE
[andreserl] mysql charm HA support (either drbd - using hacluster charm-, gallera, or native): DONE
[gandelman-a] determine timescales for active/active support for rabbitmq in kombu: DONE
test active/active rabbitmq in openstack: BLOCKED
[andreserl] test ceph rbd as backing store for mysql cluster: DONE
test and fix nova-compute node evac: INPROGRESS
design peering and clustering setup workflow: DONE
[james-page] updates to swift-proxy for HA/Clustering: DONE
[gandelman-a] updates to cinder for HA/Clustering: DONE
[gandelman-a] updates to nova-cloud-controller for HA/Clustering: DONE
[gandelman-a] updates to glance for HA/Clustering: DONE
[james-page] updates to keystone for HA/Clustering: DONE
[gandelman-a] refactoring of ceph as backing store into re-usable component: DONE
[james-page] updates to openstack-dashboard for HA/Clustering: DONE

Dependency tree

* Blueprints in grey have been implemented.