--- apiVersion: batch/v1 items: - apiVersion: batch/v1 kind: Job metadata: annotations: hash: n5d4h559hfchf7h665h67ch544h4h5dbh68chch5b4h589hcch644h57bh688h56h646h67bh56ch68bh546h5h656h594h656h57h5b7h8dhcch59fq creationTimestamp: "2026-03-12T18:46:54Z" generation: 1 labels: app: mariadbschema cr: cinder owner: mariadb-operator managedFields: - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:hash: {} f:labels: .: {} f:app: {} f:cr: {} f:owner: {} f:ownerReferences: .: {} k:{"uid":"6da71e38-a15a-412d-aaed-50be57ff8454"}: {} f:spec: f:backoffLimit: {} f:completionMode: {} f:completions: {} f:manualSelector: {} f:parallelism: {} f:podReplacementPolicy: {} f:suspend: {} f:template: f:spec: f:containers: k:{"name":"mariadb-database-create"}: .: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/lib/operator-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"operator-scripts"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:name: {} f:ttlSecondsAfterFinished: {} manager: manager operation: Update time: "2026-03-12T18:46:54Z" - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:completionTime: {} f:conditions: {} f:ready: {} f:startTime: {} f:succeeded: {} f:terminating: {} f:uncountedTerminatedPods: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:46:59Z" name: cinder-db-create namespace: openstack ownerReferences: - apiVersion: mariadb.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: MariaDBDatabase name: cinder uid: 6da71e38-a15a-412d-aaed-50be57ff8454 resourceVersion: "30462" uid: 6867cbbb-8cf5-450f-94a3-619686379a72 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 6867cbbb-8cf5-450f-94a3-619686379a72 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 6867cbbb-8cf5-450f-94a3-619686379a72 batch.kubernetes.io/job-name: cinder-db-create controller-uid: 6867cbbb-8cf5-450f-94a3-619686379a72 job-name: cinder-db-create spec: containers: - command: - /bin/sh - -c - | #!/bin/bash MYSQL_REMOTE_HOST="openstack.openstack.svc" source /var/lib/operator-scripts/mysql_root_auth.sh mysql -h openstack.openstack.svc -u root -P 3306 -e "CREATE DATABASE IF NOT EXISTS cinder; ALTER DATABASE cinder CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';" if [[ "${DatabasePassword}" != "" ]]; then # legacy; create database with username mysql -h openstack.openstack.svc -u root -P 3306 -e "GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '$DatabasePassword';GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '$DatabasePassword';" fi # echo the SHOW CREATE to ensure db was created; will return nonzero error code if # DB does not exist mysql -h openstack.openstack.svc -u root -P 3306 -NB -e "SHOW CREATE DATABASE cinder;" image: quay.io/podified-antelope-centos9/openstack-mariadb@sha256:4caef2b55e01b9a7ee88a22bc69db1893521a91d95c7ad4c8e593f14f17a5f95 imagePullPolicy: IfNotPresent name: mariadb-database-create resources: {} terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/operator-scripts name: operator-scripts readOnly: true dnsPolicy: ClusterFirst restartPolicy: OnFailure schedulerName: default-scheduler securityContext: {} serviceAccount: galera-openstack serviceAccountName: galera-openstack terminationGracePeriodSeconds: 30 volumes: - configMap: defaultMode: 420 items: - key: mysql_root_auth.sh path: mysql_root_auth.sh name: openstack-scripts name: operator-scripts ttlSecondsAfterFinished: 600 status: completionTime: "2026-03-12T18:46:59Z" conditions: - lastProbeTime: "2026-03-12T18:46:59Z" lastTransitionTime: "2026-03-12T18:46:59Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: SuccessCriteriaMet - lastProbeTime: "2026-03-12T18:46:59Z" lastTransitionTime: "2026-03-12T18:46:59Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: Complete ready: 0 startTime: "2026-03-12T18:46:54Z" succeeded: 1 terminating: 0 uncountedTerminatedPods: {} - apiVersion: batch/v1 kind: Job metadata: annotations: hash: n589h64fh67dh94h574h94h5b5h66dh59h7bhc8h69h65ch574h5bdh78h7ch556h59hch694h597h79h577h5d4hffhdfh597h676h687h66ch594q creationTimestamp: "2026-03-12T18:46:54Z" generation: 1 labels: app: mariadbschema cr: cinder_eac7 owner: mariadb-operator managedFields: - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:hash: {} f:labels: .: {} f:app: {} f:cr: {} f:owner: {} f:ownerReferences: .: {} k:{"uid":"96dbbdb0-b472-4d4b-a5a6-87bea9f09670"}: {} f:spec: f:backoffLimit: {} f:completionMode: {} f:completions: {} f:manualSelector: {} f:parallelism: {} f:podReplacementPolicy: {} f:suspend: {} f:template: f:spec: f:containers: k:{"name":"mariadb-account-create-update"}: .: {} f:command: {} f:env: .: {} k:{"name":"DatabasePassword"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/var/lib/operator-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"operator-scripts"}: .: {} f:configMap: .: {} f:defaultMode: {} f:items: {} f:name: {} f:name: {} f:ttlSecondsAfterFinished: {} manager: manager operation: Update time: "2026-03-12T18:46:54Z" - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:status: f:completionTime: {} f:conditions: {} f:ready: {} f:startTime: {} f:succeeded: {} f:terminating: {} f:uncountedTerminatedPods: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:47:00Z" name: cinder-eac7-account-create-update namespace: openstack ownerReferences: - apiVersion: mariadb.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: MariaDBAccount name: cinder uid: 96dbbdb0-b472-4d4b-a5a6-87bea9f09670 resourceVersion: "30495" uid: 3e9a02c9-fbd7-4eaf-bd37-49a9d482d524 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 3e9a02c9-fbd7-4eaf-bd37-49a9d482d524 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 3e9a02c9-fbd7-4eaf-bd37-49a9d482d524 batch.kubernetes.io/job-name: cinder-eac7-account-create-update controller-uid: 3e9a02c9-fbd7-4eaf-bd37-49a9d482d524 job-name: cinder-eac7-account-create-update spec: containers: - command: - /bin/sh - -c - | #!/bin/bash MYSQL_REMOTE_HOST="openstack.openstack.svc" source /var/lib/operator-scripts/mysql_root_auth.sh export DatabasePassword=${DatabasePassword:?"Please specify a DatabasePassword variable."} MYSQL_CMD="mysql -h openstack.openstack.svc -u root -P 3306" if [ -n "cinder" ]; then GRANT_DATABASE="cinder" else GRANT_DATABASE="*" fi # going for maximum compatibility here: # 1. MySQL 8 no longer allows implicit create user when GRANT is used # 2. MariaDB has "CREATE OR REPLACE", but MySQL does not # 3. create user with CREATE but then do all password and TLS with ALTER to # support updates $MYSQL_CMD <