--- apiVersion: batch/v1 items: - apiVersion: batch/v1 kind: Job metadata: annotations: hash: nb9hf6hc5h6bh58dhcfh575hf5h658hddhcfh5dchf4h65ch9chbbh5d5h66fh5c7hbbh97h57bh8ch5bch54bh558h55fhb4h64bh54ch59ch65dq creationTimestamp: "2026-03-12T21:25:50Z" generation: 1 labels: service: cinder managedFields: - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:hash: {} f:labels: .: {} f:service: {} f:ownerReferences: .: {} k:{"uid":"a7e8e309-be02-4a27-a5b5-9f6c749dacb9"}: {} f:spec: f:backoffLimit: {} f:completionMode: {} f:completions: {} f:manualSelector: {} f:parallelism: {} f:podReplacementPolicy: {} f:suspend: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:spec: f:containers: k:{"name":"cinder-7fa7f-db-sync"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"KOLLA_BOOTSTRAP"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:securityContext: .: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/cinder/cinder.conf.d"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/machine-id"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/my.cnf"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/merged"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"combined-ca-bundle"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"config-data"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"db-sync-config-data"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"etc-machine-id"}: .: {} f:hostPath: .: {} f:path: {} f:type: {} f:name: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} f:ttlSecondsAfterFinished: {} manager: manager operation: Update time: "2026-03-12T21:25:50Z" - 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-12T21:26:34Z" name: cinder-7fa7f-db-sync namespace: openstack ownerReferences: - apiVersion: cinder.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Cinder name: cinder-7fa7f uid: a7e8e309-be02-4a27-a5b5-9f6c749dacb9 resourceVersion: "32454" uid: 3f9728f6-1eaa-44ce-94d0-2d9fcb991a9a spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 3f9728f6-1eaa-44ce-94d0-2d9fcb991a9a suspend: false template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[]' creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 3f9728f6-1eaa-44ce-94d0-2d9fcb991a9a batch.kubernetes.io/job-name: cinder-7fa7f-db-sync controller-uid: 3f9728f6-1eaa-44ce-94d0-2d9fcb991a9a job-name: cinder-7fa7f-db-sync spec: containers: - args: - -c - /usr/local/bin/kolla_set_configs && /usr/local/bin/kolla_start command: - /bin/bash env: - name: KOLLA_BOOTSTRAP value: "TRUE" - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-cinder-api@sha256:574a17f0877c175128a764f2b37fc02456649c8514689125718ce6ca974bfb6b imagePullPolicy: IfNotPresent name: cinder-7fa7f-db-sync resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/machine-id name: etc-machine-id readOnly: true - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/lib/config-data/merged name: config-data readOnly: true - mountPath: /etc/my.cnf name: config-data readOnly: true subPath: my.cnf - mountPath: /etc/cinder/cinder.conf.d name: db-sync-config-data readOnly: true - mountPath: /var/lib/kolla/config_files/config.json name: config-data readOnly: true subPath: db-sync-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem dnsPolicy: ClusterFirst restartPolicy: OnFailure schedulerName: default-scheduler securityContext: {} serviceAccount: cinder-cinder-7fa7f serviceAccountName: cinder-cinder-7fa7f terminationGracePeriodSeconds: 30 volumes: - hostPath: path: /etc/machine-id type: "" name: etc-machine-id - name: scripts secret: defaultMode: 493 secretName: cinder-7fa7f-scripts - name: config-data secret: defaultMode: 420 secretName: cinder-7fa7f-config-data - name: db-sync-config-data secret: defaultMode: 420 items: - key: 00-global-defaults.conf path: 00-global-defaults.conf - key: 02-global-custom.conf path: 02-global-custom.conf secretName: cinder-7fa7f-config-data - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle ttlSecondsAfterFinished: 600 status: completionTime: "2026-03-12T21:26:34Z" conditions: - lastProbeTime: "2026-03-12T21:26:34Z" lastTransitionTime: "2026-03-12T21:26:34Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: SuccessCriteriaMet - lastProbeTime: "2026-03-12T21:26:34Z" lastTransitionTime: "2026-03-12T21:26:34Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: Complete ready: 0 startTime: "2026-03-12T21:25:51Z" succeeded: 1 terminating: 0 uncountedTerminatedPods: {} - apiVersion: batch/v1 kind: Job metadata: annotations: hash: n7h674h55hf7h7bhfh65bh5b6h59h557h56dh5fbhf9hdh99h8fh696h9dh56dh64fh7hfdh647h68bhddhcchd6h596h685h5bfh686h658q creationTimestamp: "2026-03-12T21:26:01Z" generation: 1 labels: service: ironic managedFields: - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:hash: {} f:labels: .: {} f:service: {} f:ownerReferences: .: {} k:{"uid":"84d35ae3-0149-4021-a04b-34956d4a14fb"}: {} f:spec: f:backoffLimit: {} f:completionMode: {} f:completions: {} f:manualSelector: {} f:parallelism: {} f:podReplacementPolicy: {} f:suspend: {} f:template: f:spec: f:containers: k:{"name":"ironic-db-sync"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"KOLLA_BOOTSTRAP"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:securityContext: .: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/podinfo"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/merged"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:dnsPolicy: {} f:initContainers: .: {} k:{"name":"init"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"DatabaseHost"}: .: {} f:name: {} f:value: {} k:{"name":"DatabaseName"}: .: {} f:name: {} f:value: {} k:{"name":"DeployHTTPURL"}: .: {} f:name: {} k:{"name":"IngressDomain"}: .: {} f:name: {} k:{"name":"IronicPassword"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} k:{"name":"PodName"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"PodNamespace"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} k:{"name":"ProvisionNetwork"}: .: {} f:name: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:securityContext: .: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/podinfo"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/default"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/merged"}: .: {} f:mountPath: {} f:name: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"combined-ca-bundle"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"config-data"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"config-data-merged"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"etc-podinfo"}: .: {} f:downwardAPI: .: {} f:defaultMode: {} f:items: {} f:name: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} f:ttlSecondsAfterFinished: {} manager: manager operation: Update time: "2026-03-12T21:26:01Z" - 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-12T21:26:42Z" name: ironic-db-sync namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: Ironic name: ironic uid: 84d35ae3-0149-4021-a04b-34956d4a14fb resourceVersion: "32897" uid: 4959b07c-2f20-45ea-b86d-30f4450ec249 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 4959b07c-2f20-45ea-b86d-30f4450ec249 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 4959b07c-2f20-45ea-b86d-30f4450ec249 batch.kubernetes.io/job-name: ironic-db-sync controller-uid: 4959b07c-2f20-45ea-b86d-30f4450ec249 job-name: ironic-db-sync spec: containers: - args: - -c - /usr/local/bin/container-scripts/dbsync.sh command: - /bin/bash env: - name: KOLLA_BOOTSTRAP value: "true" - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-conductor@sha256:0312c8ff4b98bfc1e0c9bb717adb3247305749e34533eff91099c88ed9a1ed7f imagePullPolicy: IfNotPresent name: ironic-db-sync resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/lib/config-data/merged name: config-data-merged - mountPath: /etc/podinfo name: etc-podinfo - mountPath: /var/lib/kolla/config_files/config.json name: config-data readOnly: true subPath: db-sync-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem dnsPolicy: ClusterFirst initContainers: - args: - -c - /usr/local/bin/container-scripts/init.sh command: - /bin/bash env: - name: IronicPassword valueFrom: secretKeyRef: key: IronicPassword name: osp-secret - name: PodName valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.name - name: PodNamespace valueFrom: fieldRef: apiVersion: v1 fieldPath: metadata.namespace - name: ProvisionNetwork - name: DatabaseHost value: openstack.openstack.svc - name: DatabaseName value: ironic - name: DeployHTTPURL - name: IngressDomain image: quay.io/podified-antelope-centos9/openstack-ironic-conductor@sha256:0312c8ff4b98bfc1e0c9bb717adb3247305749e34533eff91099c88ed9a1ed7f imagePullPolicy: IfNotPresent name: init resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/lib/config-data/default name: config-data readOnly: true - mountPath: /var/lib/config-data/merged name: config-data-merged - mountPath: /etc/podinfo name: etc-podinfo - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem restartPolicy: OnFailure schedulerName: default-scheduler securityContext: {} serviceAccount: ironic-ironic serviceAccountName: ironic-ironic terminationGracePeriodSeconds: 30 volumes: - name: scripts secret: defaultMode: 493 secretName: ironic-scripts - name: config-data secret: defaultMode: 416 secretName: ironic-config-data - emptyDir: {} name: config-data-merged - downwardAPI: defaultMode: 420 items: - fieldRef: apiVersion: v1 fieldPath: metadata.annotations['k8s.v1.cni.cncf.io/network-status'] path: network-status name: etc-podinfo - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle ttlSecondsAfterFinished: 600 status: completionTime: "2026-03-12T21:26:42Z" conditions: - lastProbeTime: "2026-03-12T21:26:42Z" lastTransitionTime: "2026-03-12T21:26:42Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: SuccessCriteriaMet - lastProbeTime: "2026-03-12T21:26:42Z" lastTransitionTime: "2026-03-12T21:26:42Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: Complete ready: 0 startTime: "2026-03-12T21:26:01Z" succeeded: 1 terminating: 0 uncountedTerminatedPods: {} - apiVersion: batch/v1 kind: Job metadata: annotations: hash: n65h5f8h56fh58fh59fh5bh599h65dh5dchcbh658h5cdh554h598h5b8h54h699h5dhb5h5dfh595h55h645h68dh54fh5cdh5ddhcfh54chd4h97h75q creationTimestamp: "2026-03-12T21:26:43Z" generation: 1 labels: app: mariadbschema cr: ironic_inspector 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":"8d9e928e-36d4-4c63-9666-50f0028b7cc9"}: {} 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-12T21:26:43Z" - 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-12T21:26:50Z" name: ironic-inspector-db-create namespace: openstack ownerReferences: - apiVersion: mariadb.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: MariaDBDatabase name: ironic-inspector uid: 8d9e928e-36d4-4c63-9666-50f0028b7cc9 resourceVersion: "33460" uid: 31cac200-11e9-482c-a2c6-972a2cb00669 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 31cac200-11e9-482c-a2c6-972a2cb00669 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 31cac200-11e9-482c-a2c6-972a2cb00669 batch.kubernetes.io/job-name: ironic-inspector-db-create controller-uid: 31cac200-11e9-482c-a2c6-972a2cb00669 job-name: ironic-inspector-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 ironic_inspector; ALTER DATABASE ironic_inspector 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 ironic_inspector.* TO 'ironic_inspector'@'localhost' IDENTIFIED BY '$DatabasePassword';GRANT ALL PRIVILEGES ON ironic_inspector.* TO 'ironic_inspector'@'%' 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 ironic_inspector;" 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-12T21:26:50Z" conditions: - lastProbeTime: "2026-03-12T21:26:50Z" lastTransitionTime: "2026-03-12T21:26:50Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: SuccessCriteriaMet - lastProbeTime: "2026-03-12T21:26:50Z" lastTransitionTime: "2026-03-12T21:26:50Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: Complete ready: 0 startTime: "2026-03-12T21:26:43Z" succeeded: 1 terminating: 0 uncountedTerminatedPods: {} - apiVersion: batch/v1 kind: Job metadata: annotations: hash: nc4h65fh66ch68ch99h649h67ch5fch584h5b5h665h9bh66ch86h674hf5h88h5bfhdbh559h64bh674hdfh645hc6hf5h599h8fh587h58bh596h678q creationTimestamp: "2026-03-12T21:26:58Z" generation: 1 labels: component: inspector service: ironic managedFields: - apiVersion: batch/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:hash: {} f:labels: .: {} f:component: {} f:service: {} f:ownerReferences: .: {} k:{"uid":"9f0fa448-9bc0-4199-adec-257fe918d189"}: {} f:spec: f:backoffLimit: {} f:completionMode: {} f:completions: {} f:manualSelector: {} f:parallelism: {} f:podReplacementPolicy: {} f:suspend: {} f:template: f:spec: f:containers: k:{"name":"ironic-inspector-db-sync"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"KOLLA_BOOTSTRAP"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:securityContext: .: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/podinfo"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/default"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/ironic"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/ironic-inspector/dhcp-hostsdir"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"combined-ca-bundle"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"config"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"etc-podinfo"}: .: {} f:downwardAPI: .: {} f:defaultMode: {} f:items: {} f:name: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"var-lib-ironic"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"var-lib-ironic-inspector-dhcp-hostsdir"}: .: {} f:emptyDir: {} f:name: {} f:ttlSecondsAfterFinished: {} manager: manager operation: Update time: "2026-03-12T21:26:58Z" - 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-12T21:27:17Z" name: ironic-inspector-db-sync namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: IronicInspector name: ironic-inspector uid: 9f0fa448-9bc0-4199-adec-257fe918d189 resourceVersion: "34170" uid: 6207f901-7932-4f61-83fe-eae7e4bbfe24 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 6207f901-7932-4f61-83fe-eae7e4bbfe24 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 6207f901-7932-4f61-83fe-eae7e4bbfe24 batch.kubernetes.io/job-name: ironic-inspector-db-sync controller-uid: 6207f901-7932-4f61-83fe-eae7e4bbfe24 job-name: ironic-inspector-db-sync spec: containers: - args: - -c - /usr/local/bin/kolla_set_configs && /bin/bash -c 'ironic-inspector-dbsync --config-file /etc/ironic-inspector/inspector.conf --config-dir /etc/ironic-inspector/inspector.conf.d upgrade' command: - /bin/bash env: - name: KOLLA_BOOTSTRAP value: "true" - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-inspector@sha256:ccdc96c8db6368182c0f0d0bc4f482ca2f757ecee75656e2715f2eaeb2662030 imagePullPolicy: IfNotPresent name: ironic-inspector-db-sync resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/lib/config-data/default name: config readOnly: true - mountPath: /var/lib/kolla/config_files/config.json name: config readOnly: true subPath: db-sync-config.json - mountPath: /var/lib/ironic name: var-lib-ironic - mountPath: /var/lib/ironic-inspector/dhcp-hostsdir name: var-lib-ironic-inspector-dhcp-hostsdir - mountPath: /etc/podinfo name: etc-podinfo - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem dnsPolicy: ClusterFirst restartPolicy: OnFailure schedulerName: default-scheduler securityContext: {} serviceAccount: ironic-ironic serviceAccountName: ironic-ironic terminationGracePeriodSeconds: 30 volumes: - name: scripts secret: defaultMode: 493 secretName: ironic-inspector-scripts - name: config secret: defaultMode: 416 secretName: ironic-inspector-config-data - emptyDir: {} name: var-lib-ironic - emptyDir: {} name: var-lib-ironic-inspector-dhcp-hostsdir - downwardAPI: defaultMode: 420 items: - fieldRef: apiVersion: v1 fieldPath: metadata.annotations['k8s.v1.cni.cncf.io/network-status'] path: network-status name: etc-podinfo - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle ttlSecondsAfterFinished: 600 status: completionTime: "2026-03-12T21:27:17Z" conditions: - lastProbeTime: "2026-03-12T21:27:17Z" lastTransitionTime: "2026-03-12T21:27:17Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: SuccessCriteriaMet - lastProbeTime: "2026-03-12T21:27:17Z" lastTransitionTime: "2026-03-12T21:27:17Z" message: Reached expected number of succeeded pods reason: CompletionsReached status: "True" type: Complete ready: 0 startTime: "2026-03-12T21:26:58Z" succeeded: 1 terminating: 0 uncountedTerminatedPods: {} - apiVersion: batch/v1 kind: Job metadata: annotations: hash: nd6h5bch86h699h649h67fh87h566hcdh84h98hbfh589h5d5h95h55fh54fhd7h54ch85h595h67dh649h5d8hd7h67ch5fch686h694h56ch655h69q creationTimestamp: "2026-03-12T21:26:43Z" generation: 1 labels: app: mariadbschema cr: ironic_inspector_e3e1 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":"42aad1ab-4fc4-4162-a2b1-93d96ad72ed1"}: {} 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-12T21:26:43Z" - 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-12T21:26:50Z" name: ironic-inspector-e3e1-account-create-update namespace: openstack ownerReferences: - apiVersion: mariadb.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: MariaDBAccount name: ironic-inspector uid: 42aad1ab-4fc4-4162-a2b1-93d96ad72ed1 resourceVersion: "33454" uid: 404b78db-9b8a-4861-9d5a-93869d240bb8 spec: backoffLimit: 6 completionMode: NonIndexed completions: 1 manualSelector: false parallelism: 1 podReplacementPolicy: TerminatingOrFailed selector: matchLabels: batch.kubernetes.io/controller-uid: 404b78db-9b8a-4861-9d5a-93869d240bb8 suspend: false template: metadata: creationTimestamp: null labels: batch.kubernetes.io/controller-uid: 404b78db-9b8a-4861-9d5a-93869d240bb8 batch.kubernetes.io/job-name: ironic-inspector-e3e1-account-create-update controller-uid: 404b78db-9b8a-4861-9d5a-93869d240bb8 job-name: ironic-inspector-e3e1-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 "ironic_inspector" ]; then GRANT_DATABASE="ironic_inspector" 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 <