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 13 HA Environment appendix.

Figure 1.1. OpenStack HA environment deployed through director

computers network osp7 ha 4

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 Podman with the podman 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 that can withstand a service interruption. Therefore, if you restart a high availability service such as Galera, you do not need to manually restart any other service, such as nova-api.

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 podman command, or the systemctl command.