Chapter 1. Overview
The sample HA deployment used for this document was created using the following guides as reference:
The following figure shows the configuration that was created specifically to test the high availability features described in this document. For details on how to recreate this setup so you can try the steps yourself, see the Appendix A, Building the Red Hat OpenStack Platform 12 HA Environment appendix.
Figure 1.1. OpenStack HA environment deployed through director

1.1. Managing High Availability Services
In a High Availability (HA) deployment, there are four types of services: core container, active-passive, systemd and plain container. Core container and active-passive services are launched and managed by Pacemaker. All other services are managed directly by systemd with the systemctl command or by Docker with the docker command.
- Core container
- Core container services include Galera, RabbitMQ, Redis, and HAProxy. These services run on all controller nodes and require specific management and constraints for the start, stop and restart actions.
- Active-passive
-
Active-passive services run on a single controller node at a time, and include services such as
openstack-cinder-volume. Moving an active-passive service must be performed using Pacemaker, which ensures that the correct stop-start sequence is followed. - Systemd and Plain Container
-
Systemd and Plain Container services are independent services expected to be able to withstand a service interruption, and should not require you to to manually restart any service, such as
neutron-server.service, or any container, such asopenstack-nova-api-docker, if you restart Galera.
When orchestrating your HA deployment entirely with the director, the templates and Puppet modules that are used by the director ensure that all services are configured and launched correctly, particularly for HA. In addition, when troubleshooting HA issues, you need to interact with services using the HA framework, the docker command, or the systemctl command.
