I would like to draw people's attention to a new document that hopes to capture the
process of deploying Openstack for High Availability on CentOS / RHEL.
Goals:
- separate discussion (why) from implementation (how)
- be conducive to copy & paste
- easily be versioned as a whole
- clearly distinguishes parts that need to be customised (variables)
- able to be fed into a tool for automated deployment if needed
This document grew out of an internal Red Hat one that served as input to our installer
team.
For this reason you may find some things are still referred to by their downstream names
(eg. RHEL and OSP6) but except for the yum repositories used, everything should apply
equally to Juno and CentOS7.
I expect to clean these up over time and encourage people to point out incompatibilities.
You can find the document at:
https://github.com/beekhof/osp-ha-deploy/blob/master/ha-openstack.md
and an updated wiki entry that summarises the key points and refers to it:
https://openstack.redhat.com/RDO_HighlyAvailable_and_LoadBalanced_Control...
Please be aware that it is an evolving document, regularly updated in response to feedback
from the field.
For example in the last few weeks we have incorporated a new RabbitMQ agent and changed
cinder-volume to active/passive.
The scripts this document links to can be fed directly to a tool called PhD
(
https://github.com/davidvossel/phd) which is an unofficial side project of the cluster
team.
It is by no means expected that anyone should need this tool to understand or implement
the deployment documented here.
There are some aspects of this setup that I have inherited and for which the rationale has
been lost to the mists of time.
If anyone has insight into why things are done in a specific way, or would like to provide
additional background, please get in touch.
Examples:
- MongoDB is apparently incompatible with HAProxy. Does anyone know if this is for the
same TCP keep-alive issue RabbitMQ has?
- I'm led to believe there are interesting things to be said on the topic of neutron
L3 plugins. Would anyone like to kick off?
-- Andrew