Chapter 7. Describing the statefulset of the RHOSO High Availability services The operator of each Red Hat OpenStack Services on OpenShift (RHOSO) High Availability service creates and manages a statefulset . The statefulset performs the following tasks: Manages the deployment and scaling of the set of pods of each service. Maintains a sticky identity for each of these pods. This means that each pod has a unique and persistent network identifier that it maintains across any rescheduling. Provides the service with persistent storage. Implements rolling updates of the service to prevent service disruption. You can retrieve the following information about the statefulset of each service, which is organized into the following sections: Basic information about the service. For example, the number of replicas. Actual container details. For example, the environment variables. Volume details: the persistent storage provided to this service. Event details: the statefulset events, which could be used for troubleshooting. Note You must always list the names of the statefulset of the shared control plane services before you describe them because sometimes the names of the statefulset differ from the names of the shared control plane services. Procedure You can use the following command to list the names of the statefulset of the Galera, RabbitMQ, and memcached shared control plane services: You can use the following command to describe the statefulset of a shared control plane service: Replace <statefulset_name> with the name of the statefulset retrieved from the command. For example, the following command retrieves the information about the openstack-galera statefulset : The information contained within the statefulset is organized into the following sections: 7.1. Basic service information This section of the statefulset description, provides the basic service information: 7.2. Container information This section of the statefulset description, provides information about the container of this service: 7.3. Volume information This section of the statefulset description, provides information about the persistent storage volumes provided to this service: 7.4. Event details This section of the statefulset description, provides the statefulset events of this service:

Commands:
oc get statefulset |egrep -e "galera|rabbit|memcache" NAME READY AGE memcached 1/1 174m openstack-cell1-galera 3/3 174m openstack-galera 3/3 174m rabbitmq-cell1-server 3/3 174m rabbitmq-server 3/3 174m
oc describe statefulset <statefulset_name>
oc describe statefulset openstack-galera
Name: openstack-galera Namespace: openstack CreationTimestamp: Thu, 21 Mar 2024 08:39:59 -0400 Selector: app=galera,cr=galera-openstack,galera/name=openstack,galera/namespace=openstack,galera/uid=1c93b3a3-1ac3-4f18-984d-34e9ce9dc12f,owner=mariadb-operator Labels: <none> Annotations: <none> Replicas: 3 desired | 3 total Update Strategy: RollingUpdate Partition: 0 Pods Status: 3 Running / 0 Waiting / 0 Succeeded / 0 Failed Pod Template: Labels: app=galera cr=galera-openstack galera/name=openstack galera/namespace=openstack galera/uid=1c93b3a3-1ac3-4f18-984d-34e9ce9dc12f owner=mariadb-operator Service Account: galera-openstack Init Containers: mysql-bootstrap: Image: quay.io/podified-antelope-centos9/openstack-mariadb@sha256:7fa37f7dcdd850fb6e401c4d5f76d16ad53ecdd14d6a130dbf61f02b819dcdf6 Port: <none> Host Port: <none> Command: bash /var/lib/operator-scripts/mysql_bootstrap.sh Environment: KOLLA_BOOTSTRAP: True KOLLA_CONFIG_STRATEGY: COPY_ALWAYS DB_ROOT_PASSWORD: <set to the key 'DbRootPassword' in secret 'osp-secret'> Optional: false Mounts: /var/lib/config-data/default from config-data-default (ro) /var/lib/config-data/generated from config-data-generated (rw) /var/lib/kolla/config_files from kolla-config (ro) /var/lib/mysql from mysql-db (rw) /var/lib/operator-scripts from operator-scripts (ro) /var/lib/secrets from secrets (ro) ... [cont]
Containers: galera: Image: quay.io/podified-antelope-centos9/openstack-mariadb@sha256:7fa37f7dcdd850fb6e401c4d5f76d16ad53ecdd14d6a130dbf61f02b819dcdf6 Ports: 3306/TCP, 4567/TCP Host Ports: 0/TCP, 0/TCP Command: /usr/bin/dumb-init -- /usr/local/bin/kolla_start Liveness: exec [/bin/bash /var/lib/operator-scripts/mysql_probe.sh liveness] delay=0s timeout=1s period=10s #success=1 #failure=3 Readiness: exec [/bin/bash /var/lib/operator-scripts/mysql_probe.sh readiness] delay=0s timeout=1s period=10s #success=1 #failure=3 Startup: exec [/bin/bash /var/lib/operator-scripts/mysql_probe.sh startup] delay=0s timeout=1s period=10s #success=1 #failure=30 Environment: CR_CONFIG_HASH: n558hf6h557hcfh589h688h684hb6h687h679h659h554h64fh77h76h568h695h5b6h8fh79h5c8h648h674hdch556h56bh655h64bh655h66ch5h5c4q KOLLA_CONFIG_STRATEGY: COPY_ALWAYS DB_ROOT_PASSWORD: <set to the key 'DbRootPassword' in secret 'osp-secret'> Optional: false Mounts: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem from combined-ca-bundle (ro,path="tls-ca-bundle.pem") /var/lib/config-data/default from config-data-default (ro) /var/lib/config-data/generated from config-data-generated (rw) /var/lib/config-data/tls/certs/galera.crt from galera-tls-certs (ro,path="tls.crt") /var/lib/config-data/tls/private/galera.key from galera-tls-certs (ro,path="tls.key") /var/lib/kolla/config_files from kolla-config (ro) /var/lib/mysql from mysql-db (rw) /var/lib/operator-scripts from operator-scripts (ro) /var/lib/secrets from secrets (ro) ... [cont]
Volumes: secrets: Type: Secret (a volume populated by a Secret) SecretName: osp-secret Optional: false kolla-config: Type: ConfigMap (a volume populated by a ConfigMap) Name: openstack-config-data Optional: false config-data-generated: Type: EmptyDir (a temporary directory that shares a pod's lifetime) Medium: SizeLimit: <unset> config-data-default: Type: ConfigMap (a volume populated by a ConfigMap) Name: openstack-config-data Optional: false operator-scripts: Type: ConfigMap (a volume populated by a ConfigMap) Name: openstack-scripts Optional: false galera-tls-certs: Type: Secret (a volume populated by a Secret) SecretName: cert-galera-openstack-svc Optional: false combined-ca-bundle: Type: Secret (a volume populated by a Secret) SecretName: combined-ca-bundle Optional: false Volume Claims: Name: mysql-db StorageClass: local-storage Labels: app=galera cr=galera-openstack galera/name=openstack galera/namespace=openstack galera/uid=1c93b3a3-1ac3-4f18-984d-34e9ce9dc12f owner=mariadb-operator Annotations: <none> Capacity: 5G Access Modes: [ReadWriteOnce] ... [cont]
Events: Type Reason Age From Message ---- ------ ---- ---- ------- Normal SuccessfulCreate 179m statefulset-controller create Claim mysql-db-openstack-galera-0 Pod openstack-galera-0 in statefulset openstack-galera success Normal SuccessfulCreate 179m statefulset-controller create Pod openstack-galera-0 in statefulset openstack-galera successful Normal SuccessfulCreate 179m statefulset-controller create Claim mysql-db-openstack-galera-1 Pod openstack-galera-1 in statefulset openstack-galera success Normal SuccessfulCreate 179m statefulset-controller create Claim mysql-db-openstack-galera-2 Pod openstack-galera-2 in statefulset openstack-galera success Normal SuccessfulCreate 179m statefulset-controller create Pod openstack-galera-1 in statefulset openstack-galera successful Normal SuccessfulCreate 179m statefulset-controller create Pod openstack-galera-2 in statefulset openstack-galera successful