--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "17" creationTimestamp: "2026-03-12T18:45:25Z" generation: 17 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"a63e3b85-42b5-48b7-a07d-aa13a66339e2"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:labels: .: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"dnsmasq-dns"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"POD_IP"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:tcpSocket: .: {} f:port: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:tcpSocket: .: {} f:port: {} f:timeoutSeconds: {} f:resources: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/dnsmasq.d/config.cfg"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/dns-svc"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/dns-swift-storage-0"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/ovsdbserver-nb"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/ovsdbserver-sb"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:dnsPolicy: {} f:initContainers: .: {} k:{"name":"init"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"POD_IP"}: .: {} f:name: {} f:valueFrom: .: {} f:fieldRef: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/dnsmasq.d/config.cfg"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/dns-svc"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/dns-swift-storage-0"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/ovsdbserver-nb"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/dnsmasq.d/hosts/ovsdbserver-sb"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:volumes: .: {} k:{"name":"config"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"dns-svc"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"dns-swift-storage-0"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"ovsdbserver-nb"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} k:{"name":"ovsdbserver-sb"}: .: {} f:configMap: .: {} f:defaultMode: {} f:name: {} f:name: {} manager: manager operation: Update time: "2026-03-12T18:50:27Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:50:38Z" name: dnsmasq-dns namespace: openstack ownerReferences: - apiVersion: network.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: DNSMasq name: dns uid: a63e3b85-42b5-48b7-a07d-aa13a66339e2 resourceVersion: "36498" uid: 1a2f0ba9-5aab-4718-af2f-ef050f011246 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: service: dnsmasq strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: service: dnsmasq spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - dnsmasq topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - -c - dnsmasq --interface=* --conf-dir=/etc/dnsmasq.d --hostsdir=/etc/dnsmasq.d/hosts --keep-in-foreground --log-debug --bind-interfaces --listen-address=$(POD_IP) --port 5353 --log-facility=- --no-hosts --domain-needed --no-resolv --bogus-priv --log-queries command: - /bin/bash env: - name: CONFIG_HASH value: n74h59ch698hd6h54dhfdhb8h556h78h659h58fh5c7hffh7dh9bh77h574hbh68fh5b6h5d9h675h66dh5b4h646h58bh86h586hc9h568h58h587q - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:fbb5be29e9e4fa11f0743e7f74f2e80dcc7445d24770709ea0e038147f752c51 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 3 successThreshold: 1 tcpSocket: port: 5353 timeoutSeconds: 5 name: dnsmasq-dns readinessProbe: failureThreshold: 3 initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 tcpSocket: port: 5353 timeoutSeconds: 5 resources: {} securityContext: allowPrivilegeEscalation: false runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/dnsmasq.d/config.cfg name: config readOnly: true subPath: dns - mountPath: /etc/dnsmasq.d/hosts/dns-svc name: dns-svc readOnly: true subPath: dns-svc - mountPath: /etc/dnsmasq.d/hosts/dns-swift-storage-0 name: dns-swift-storage-0 readOnly: true subPath: dns-swift-storage-0 - mountPath: /etc/dnsmasq.d/hosts/ovsdbserver-nb name: ovsdbserver-nb readOnly: true subPath: ovsdbserver-nb - mountPath: /etc/dnsmasq.d/hosts/ovsdbserver-sb name: ovsdbserver-sb readOnly: true subPath: ovsdbserver-sb dnsPolicy: ClusterFirst initContainers: - args: - -c - dnsmasq --interface=* --conf-dir=/etc/dnsmasq.d --hostsdir=/etc/dnsmasq.d/hosts --keep-in-foreground --log-debug --bind-interfaces --listen-address=$(POD_IP) --port 5353 --log-facility=- --no-hosts --domain-needed --no-resolv --bogus-priv --log-queries --test command: - /bin/bash env: - name: CONFIG_HASH value: n74h59ch698hd6h54dhfdhb8h556h78h659h58fh5c7hffh7dh9bh77h574hbh68fh5b6h5d9h675h66dh5b4h646h58bh86h586hc9h568h58h587q - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:fbb5be29e9e4fa11f0743e7f74f2e80dcc7445d24770709ea0e038147f752c51 imagePullPolicy: IfNotPresent name: init resources: {} securityContext: allowPrivilegeEscalation: false runAsNonRoot: true seccompProfile: type: RuntimeDefault terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/dnsmasq.d/config.cfg name: config readOnly: true subPath: dns - mountPath: /etc/dnsmasq.d/hosts/dns-svc name: dns-svc readOnly: true subPath: dns-svc - mountPath: /etc/dnsmasq.d/hosts/dns-swift-storage-0 name: dns-swift-storage-0 readOnly: true subPath: dns-swift-storage-0 - mountPath: /etc/dnsmasq.d/hosts/ovsdbserver-nb name: ovsdbserver-nb readOnly: true subPath: ovsdbserver-nb - mountPath: /etc/dnsmasq.d/hosts/ovsdbserver-sb name: ovsdbserver-sb readOnly: true subPath: ovsdbserver-sb restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: dnsmasq-dns serviceAccountName: dnsmasq-dns terminationGracePeriodSeconds: 10 volumes: - configMap: defaultMode: 420 name: dns name: config - configMap: defaultMode: 420 name: dns-svc name: dns-svc - configMap: defaultMode: 420 name: dns-swift-storage-0 name: dns-swift-storage-0 - configMap: defaultMode: 420 name: ovsdbserver-nb name: ovsdbserver-nb - configMap: defaultMode: 420 name: ovsdbserver-sb name: ovsdbserver-sb status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:45:56Z" lastUpdateTime: "2026-03-12T18:45:56Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:45:25Z" lastUpdateTime: "2026-03-12T18:50:38Z" message: ReplicaSet "dnsmasq-dns-94597dfc" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 17 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-03-12T18:48:17Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"c3ae06d7-ee86-4bd3-850f-dee271f8e630"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:labels: .: {} f:component: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"ironic-api"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} 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/custom"}: .: {} 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: {} k:{"mountPath":"/var/lib/config-data/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/log/ironic"}: .: {} f:mountPath: {} f:name: {} k:{"name":"ironic-api-log"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} 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":"/var/log/ironic"}: .: {} f:mountPath: {} f:name: {} 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: {} k:{"name":"QuorumQueues"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} k:{"name":"TransportURL"}: .: {} f:name: {} f:valueFrom: .: {} f:secretKeyRef: {} 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/custom"}: .: {} 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-custom"}: .: {} 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":"internal-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"logs"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"public-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-03-12T18:48:21Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:48:34Z" name: ironic namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: IronicAPI name: ironic-api uid: c3ae06d7-ee86-4bd3-850f-dee271f8e630 resourceVersion: "33750" uid: 59b44bf0-8da6-483b-ab50-443b2a41752c spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: component: api service: ironic strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[]' creationTimestamp: null labels: component: api service: ironic spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - ironic topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - --single-child - -- - /usr/bin/tail - -n+1 - -F - /var/log/ironic/ironic-api.log command: - /usr/bin/dumb-init env: - name: CONFIG_HASH value: n656h59fh57ch98h666h667h65dh67bh5ffh586h545h5b8h576h587h79h596h684h57bh55bh685hd9h5d8h5dch55chdchcfh5b6h88h56h5b6h94h6bq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-api@sha256:ce607a55786d436f9ce7ef94f3d17fa07b0f19364c3ec81b45dd7c499aaea800 imagePullPolicy: IfNotPresent name: ironic-api-log resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/log/ironic name: logs - args: - -c - /usr/local/bin/container-scripts/api-prep.sh && /usr/local/bin/kolla_set_configs && usermod -a -G tty ironic && /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: n656h59fh57ch98h666h667h65dh67bh5ffh586h545h5b8h576h587h79h596h684h57bh55bh685hd9h5d8h5dch55chdchcfh5b6h88h56h5b6h94h6bq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-api@sha256:ce607a55786d436f9ce7ef94f3d17fa07b0f19364c3ec81b45dd7c499aaea800 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /v1 port: 6385 scheme: HTTPS initialDelaySeconds: 3 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 name: ironic-api readinessProbe: failureThreshold: 3 httpGet: path: /v1 port: 6385 scheme: HTTPS initialDelaySeconds: 3 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 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: ironic-api-config.json - mountPath: /var/lib/config-data/default name: config-data readOnly: true - mountPath: /var/log/ironic name: logs - mountPath: /var/lib/config-data/custom name: config-data-custom readOnly: true - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /var/lib/config-data/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /var/lib/config-data/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key 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: TransportURL valueFrom: secretKeyRef: key: transport_url name: rabbitmq-transport-url-ironic-transport - name: QuorumQueues valueFrom: secretKeyRef: key: quorumqueues name: rabbitmq-transport-url-ironic-transport optional: true - name: DatabaseHost value: openstack.openstack.svc - name: DatabaseName value: ironic - name: DeployHTTPURL - name: IngressDomain image: quay.io/podified-antelope-centos9/openstack-ironic-api@sha256:ce607a55786d436f9ce7ef94f3d17fa07b0f19364c3ec81b45dd7c499aaea800 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: /var/lib/config-data/custom name: config-data-custom readOnly: true - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: ironic-ironic serviceAccountName: ironic-ironic terminationGracePeriodSeconds: 60 volumes: - name: scripts secret: defaultMode: 493 secretName: ironic-api-scripts - name: config-data secret: defaultMode: 416 secretName: ironic-api-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: config-data-custom secret: defaultMode: 416 secretName: ironic-config-data - emptyDir: {} name: logs - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle - name: internal-tls-certs secret: defaultMode: 256 secretName: cert-ironic-internal-svc - name: public-tls-certs secret: defaultMode: 256 secretName: cert-ironic-public-svc status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:34Z" lastUpdateTime: "2026-03-12T18:48:34Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:48:17Z" lastUpdateTime: "2026-03-12T18:48:34Z" message: ReplicaSet "ironic-6b755b479c" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-12T18:48:17Z" generation: 1 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"cd0860cb-3d38-4918-9924-bcfe8a25b3ec"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:labels: .: {} f:component: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"ironic-neutron-agent"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:exec: .: {} f:command: {} f:failureThreshold: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:exec: .: {} f:command: {} f:failureThreshold: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} 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":"/var/lib/config-data/default"}: .: {} 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"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-03-12T18:48:17Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:49:27Z" name: ironic-neutron-agent namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: IronicNeutronAgent name: ironic-ironic-neutron-agent uid: cd0860cb-3d38-4918-9924-bcfe8a25b3ec resourceVersion: "35004" uid: 813e88e8-2dd5-4219-a49a-60853e2c7ca7 spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: component: ironic-neutron-agent service: ironic-neutron-agent strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: creationTimestamp: null labels: component: ironic-neutron-agent service: ironic-neutron-agent spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - ironic-neutron-agent topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - -c - /usr/local/bin/kolla_set_configs && /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: n66bh649h66dh7h8bh98h6ch5f8h676h58dhbdh55h9ch54fhbh598hd7h5bch5ffh66fhdfh544h588h59h646h5b9h54ch85h569h58fh56ch555q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-neutron-agent@sha256:d966b6024aabc0d204669b2b99cd0a9a39114334c8b426830c8c178dec6746ec imagePullPolicy: IfNotPresent livenessProbe: exec: command: - /bin/true failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 name: ironic-neutron-agent readinessProbe: exec: command: - /bin/true failureThreshold: 3 initialDelaySeconds: 3 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: {} securityContext: runAsUser: 0 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /var/lib/config-data/default name: config readOnly: true - mountPath: /var/lib/kolla/config_files/config.json name: config readOnly: true subPath: ironic-neutron-agent-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: Always schedulerName: default-scheduler securityContext: {} serviceAccount: ironic-ironic serviceAccountName: ironic-ironic terminationGracePeriodSeconds: 60 volumes: - name: config secret: defaultMode: 416 secretName: ironic-ironic-neutron-agent-config-data - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:17Z" lastUpdateTime: "2026-03-12T18:48:47Z" message: ReplicaSet "ironic-neutron-agent-7cb69d965b" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing - lastTransitionTime: "2026-03-12T18:49:27Z" lastUpdateTime: "2026-03-12T18:49:27Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-12T18:47:43Z" generation: 1 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"18cd85ae-86a1-45af-a376-344b39e7107a"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:labels: .: {} f:owner: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"keystone-api"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: {} f:securityContext: .: {} f:capabilities: .: {} f:drop: {} f:runAsGroup: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/keystone/credential-keys"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/etc/keystone/fernet-keys"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} 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/default"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/lib/config-data/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} 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":"credential-keys"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"fernet-keys"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:items: {} f:secretName: {} k:{"name":"internal-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"public-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-03-12T18:47:43Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:48:15Z" name: keystone namespace: openstack ownerReferences: - apiVersion: keystone.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: KeystoneAPI name: keystone uid: 18cd85ae-86a1-45af-a376-344b39e7107a resourceVersion: "32964" uid: a55c0244-d9d2-4f4d-8da1-21d9f1e1a9ba spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: owner: keystone service: keystone strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[]' creationTimestamp: null labels: owner: keystone service: keystone spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - keystone topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - -c - /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: n575h5bfh694h66ch75h66fh5fh7dh678h576h54dh59bh5b9h657h546h5ch55bh58dh9bh68ch5b8h5b8hc9h685h547h558h669h77h689h67chb4h5c6q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-keystone@sha256:3a148c87899d4cbbb6bbe1203ad6c237fb295b5f42abda425dc0329305723414 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /v3 port: 5000 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 name: keystone-api readinessProbe: failureThreshold: 3 httpGet: path: /v3 port: 5000 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 resources: {} securityContext: capabilities: drop: - MKNOD runAsGroup: 42425 runAsUser: 42425 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 - mountPath: /var/lib/kolla/config_files/config.json name: config-data readOnly: true subPath: keystone-api-config.json - mountPath: /etc/keystone/fernet-keys name: fernet-keys readOnly: true - mountPath: /etc/keystone/credential-keys name: credential-keys readOnly: true - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /var/lib/config-data/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /var/lib/config-data/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: keystone-keystone serviceAccountName: keystone-keystone terminationGracePeriodSeconds: 30 volumes: - name: scripts secret: defaultMode: 493 secretName: keystone-scripts - name: config-data secret: defaultMode: 420 secretName: keystone-config-data - name: fernet-keys secret: defaultMode: 420 items: - key: FernetKeys0 path: "0" - key: FernetKeys1 path: "1" - key: FernetKeys2 path: "2" - key: FernetKeys3 path: "3" - key: FernetKeys4 path: "4" secretName: keystone - name: credential-keys secret: defaultMode: 420 items: - key: CredentialKeys0 path: "0" - key: CredentialKeys1 path: "1" secretName: keystone - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle - name: internal-tls-certs secret: defaultMode: 256 secretName: cert-keystone-internal-svc - name: public-tls-certs secret: defaultMode: 256 secretName: cert-keystone-public-svc status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:15Z" lastUpdateTime: "2026-03-12T18:48:15Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:47:43Z" lastUpdateTime: "2026-03-12T18:48:15Z" message: ReplicaSet "keystone-798795c956" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-03-12T18:47:45Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"9fa343b0-d204-4e04-b3aa-234f08a6db63"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:labels: .: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"neutron-api"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:resources: {} f:securityContext: .: {} f:capabilities: .: {} f:drop: {} f:runAsGroup: {} f:runAsNonRoot: {} 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":"/var/lib/config-data/default"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/tls/certs/ovndb.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/certs/ovndbca.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/ovndb.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"name":"neutron-httpd"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: {} f:securityContext: .: {} f:capabilities: .: {} f:drop: {} f:runAsGroup: {} f:runAsNonRoot: {} 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/pki/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/default"}: .: {} 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:fsGroup: {} 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":"httpd-config"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"internal-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"ovndb-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"public-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-03-12T18:47:52Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:48:23Z" name: neutron namespace: openstack ownerReferences: - apiVersion: neutron.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: NeutronAPI name: neutron uid: 9fa343b0-d204-4e04-b3aa-234f08a6db63 resourceVersion: "33432" uid: 41271b4a-6c07-4f6b-b43e-d2efe1575dfd spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: service: neutron strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[{"name":"internalapi","namespace":"openstack","interface":"internalapi"}]' creationTimestamp: null labels: service: neutron spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - neutron topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - -c - /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: nch586h58bh644h699h678h665hdch557h5h64dh5f9h5b9h57fh5dch584h595h5c9h5f5h5b5h57dh679h9dh5bch5f9h54bh648hb5h8fh668h578h698q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:fbb5be29e9e4fa11f0743e7f74f2e80dcc7445d24770709ea0e038147f752c51 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: / port: 9696 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 name: neutron-api resources: {} securityContext: capabilities: drop: - MKNOD runAsGroup: 42435 runAsNonRoot: true runAsUser: 42435 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/lib/config-data/default name: config readOnly: true - mountPath: /var/lib/kolla/config_files/config.json name: config readOnly: true subPath: neutron-api-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /var/lib/config-data/tls/certs/ovndb.crt name: ovndb-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/ovndb.key name: ovndb-tls-certs readOnly: true subPath: tls.key - mountPath: /var/lib/config-data/tls/certs/ovndbca.crt name: ovndb-tls-certs readOnly: true subPath: ca.crt - args: - -c - /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: nch586h58bh644h699h678h665hdch557h5h64dh5f9h5b9h57fh5dch584h595h5c9h5f5h5b5h57dh679h9dh5bch5f9h54bh648hb5h8fh668h578h698q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:fbb5be29e9e4fa11f0743e7f74f2e80dcc7445d24770709ea0e038147f752c51 imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: / port: 9696 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 name: neutron-httpd readinessProbe: failureThreshold: 3 httpGet: path: / port: 9696 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 resources: {} securityContext: capabilities: drop: - MKNOD runAsGroup: 42435 runAsNonRoot: true runAsUser: 42435 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/lib/config-data/default name: httpd-config readOnly: true - mountPath: /var/lib/kolla/config_files/config.json name: config readOnly: true subPath: neutron-httpd-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /etc/pki/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /etc/pki/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /etc/pki/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /etc/pki/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: fsGroup: 42435 serviceAccount: neutron-neutron serviceAccountName: neutron-neutron terminationGracePeriodSeconds: 30 volumes: - name: config secret: defaultMode: 420 secretName: neutron-config - name: httpd-config secret: defaultMode: 420 secretName: neutron-httpd-config - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle - name: internal-tls-certs secret: defaultMode: 256 secretName: cert-neutron-internal-svc - name: public-tls-certs secret: defaultMode: 256 secretName: cert-neutron-public-svc - name: ovndb-tls-certs secret: defaultMode: 256 secretName: cert-neutron-ovndbs status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:16Z" lastUpdateTime: "2026-03-12T18:48:16Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:47:45Z" lastUpdateTime: "2026-03-12T18:48:23Z" message: ReplicaSet "neutron-8655bff577" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "2" creationTimestamp: "2026-03-12T18:47:36Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"8df7588b-3112-4b1f-bd5c-e654d0675101"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:labels: .: {} f:owner: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"placement-api"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} 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":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/openstack/config"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/placement"}: .: {} f:mountPath: {} f:name: {} k:{"name":"placement-log"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} k:{"name":"KOLLA_CONFIG_STRATEGY"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} 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":"/usr/local/bin/container-scripts"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} k:{"mountPath":"/var/lib/config-data/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/config-data/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/kolla/config_files/config.json"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/var/lib/openstack/config"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/placement"}: .: {} f:mountPath: {} f:name: {} 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":"internal-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"logs"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"public-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"scripts"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} manager: manager operation: Update time: "2026-03-12T18:48:08Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:48:41Z" name: placement namespace: openstack ownerReferences: - apiVersion: placement.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: PlacementAPI name: placement uid: 8df7588b-3112-4b1f-bd5c-e654d0675101 resourceVersion: "33952" uid: 174a772b-966a-43c8-bc1c-419af87cd68c spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: owner: placement service: placement strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[]' creationTimestamp: null labels: owner: placement service: placement spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: service operator: In values: - placement topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - --single-child - -- - /usr/bin/tail - -n+1 - -F - /var/log/placement/placement-api.log command: - /usr/bin/dumb-init env: - name: CONFIG_HASH value: n59dh97hffh675h5c8h57h5f8h55chf6hf7h554h5bbh5fbh56h64bhf8h96h597h545h569h59hbdh674h545h5cdh7h64dh576h65dh6ch75h657q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-placement-api@sha256:b8a5d052890fb9cefa333baf10b607add227ed5d79aa108b576a97b21e89327a imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: / port: 8778 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 name: placement-log readinessProbe: failureThreshold: 3 httpGet: path: / port: 8778 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 resources: {} securityContext: runAsUser: 42482 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/log/placement name: logs - mountPath: /var/lib/openstack/config name: config-data - mountPath: /var/lib/kolla/config_files/config.json name: config-data readOnly: true subPath: placement-api-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /var/lib/config-data/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /var/lib/config-data/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key - args: - -c - /usr/local/bin/kolla_start command: - /bin/bash env: - name: CONFIG_HASH value: n59dh97hffh675h5c8h57h5f8h55chf6hf7h554h5bbh5fbh56h64bhf8h96h597h545h569h59hbdh674h545h5cdh7h64dh576h65dh6ch75h657q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-placement-api@sha256:b8a5d052890fb9cefa333baf10b607add227ed5d79aa108b576a97b21e89327a imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: / port: 8778 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 name: placement-api readinessProbe: failureThreshold: 3 httpGet: path: / port: 8778 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 30 successThreshold: 1 timeoutSeconds: 30 resources: {} securityContext: runAsUser: 42482 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /usr/local/bin/container-scripts name: scripts readOnly: true - mountPath: /var/log/placement name: logs - mountPath: /var/lib/openstack/config name: config-data - mountPath: /var/lib/kolla/config_files/config.json name: config-data readOnly: true subPath: placement-api-config.json - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /var/lib/config-data/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /var/lib/config-data/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /var/lib/config-data/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} serviceAccount: placement-placement serviceAccountName: placement-placement terminationGracePeriodSeconds: 30 volumes: - name: scripts secret: defaultMode: 493 secretName: placement-scripts - name: config-data secret: defaultMode: 416 secretName: placement-config-data - emptyDir: {} name: logs - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle - name: internal-tls-certs secret: defaultMode: 256 secretName: cert-placement-internal-svc - name: public-tls-certs secret: defaultMode: 256 secretName: cert-placement-public-svc status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:08Z" lastUpdateTime: "2026-03-12T18:48:08Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:47:36Z" lastUpdateTime: "2026-03-12T18:48:41Z" message: ReplicaSet "placement-5664b69d46" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 2 readyReplicas: 1 replicas: 1 updatedReplicas: 1 - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "1" creationTimestamp: "2026-03-12T18:48:22Z" generation: 1 labels: component: swift-proxy service: swift managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:labels: .: {} f:component: {} f:service: {} f:ownerReferences: .: {} k:{"uid":"c54f1111-ec10-4289-af41-612746bc509c"}: {} f:spec: f:progressDeadlineSeconds: {} f:replicas: {} f:revisionHistoryLimit: {} f:selector: {} f:strategy: f:rollingUpdate: .: {} f:maxSurge: {} f:maxUnavailable: {} f:type: {} f:template: f:metadata: f:annotations: .: {} f:k8s.v1.cni.cncf.io/networks: {} f:labels: .: {} f:component: {} f:service: {} f:spec: f:affinity: .: {} f:podAntiAffinity: .: {} f:preferredDuringSchedulingIgnoredDuringExecution: {} f:containers: k:{"name":"proxy-httpd"}: .: {} f:args: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8080,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:runAsNonRoot: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:volumeMounts: .: {} k:{"mountPath":"/etc/httpd/conf.d/ssl.conf"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/httpd/conf/httpd.conf"}: .: {} 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":"/etc/pki/tls/certs/internal.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/certs/public.crt"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/private/internal.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/pki/tls/private/public.key"}: .: {} f:mountPath: {} f:name: {} f:readOnly: {} f:subPath: {} k:{"mountPath":"/etc/swift"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/run/httpd"}: .: {} f:mountPath: {} f:name: {} k:{"mountPath":"/var/log/httpd"}: .: {} f:mountPath: {} f:name: {} k:{"name":"proxy-server"}: .: {} f:command: {} f:env: .: {} k:{"name":"CONFIG_HASH"}: .: {} f:name: {} f:value: {} f:image: {} f:imagePullPolicy: {} f:livenessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:name: {} f:ports: .: {} k:{"containerPort":8081,"protocol":"TCP"}: .: {} f:containerPort: {} f:name: {} f:protocol: {} f:readinessProbe: .: {} f:failureThreshold: {} f:httpGet: .: {} f:path: {} f:port: {} f:scheme: {} f:initialDelaySeconds: {} f:periodSeconds: {} f:successThreshold: {} f:timeoutSeconds: {} f:resources: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:runAsNonRoot: {} 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/swift"}: .: {} f:mountPath: {} f:name: {} f:dnsPolicy: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:fsGroup: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} 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":"etc-swift"}: .: {} f:name: {} f:projected: .: {} f:defaultMode: {} f:sources: {} k:{"name":"internal-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"log-httpd"}: .: {} f:emptyDir: {} f:name: {} k:{"name":"public-tls-certs"}: .: {} f:name: {} f:secret: .: {} f:defaultMode: {} f:secretName: {} k:{"name":"run-httpd"}: .: {} f:emptyDir: {} f:name: {} manager: manager operation: Update time: "2026-03-12T18:48:22Z" - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:deployment.kubernetes.io/revision: {} f:status: f:availableReplicas: {} f:conditions: .: {} k:{"type":"Available"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} k:{"type":"Progressing"}: .: {} f:lastTransitionTime: {} f:lastUpdateTime: {} f:message: {} f:reason: {} f:status: {} f:type: {} f:observedGeneration: {} f:readyReplicas: {} f:replicas: {} f:updatedReplicas: {} manager: kube-controller-manager operation: Update subresource: status time: "2026-03-12T18:48:33Z" name: swift-proxy namespace: openstack ownerReferences: - apiVersion: swift.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: SwiftProxy name: swift-proxy uid: c54f1111-ec10-4289-af41-612746bc509c resourceVersion: "33695" uid: bce4a59e-9ac2-4887-89b1-e0e94331cf3d spec: progressDeadlineSeconds: 600 replicas: 1 revisionHistoryLimit: 10 selector: matchLabels: component: swift-proxy service: swift strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate template: metadata: annotations: k8s.v1.cni.cncf.io/networks: '[]' creationTimestamp: null labels: component: swift-proxy service: swift spec: affinity: podAntiAffinity: preferredDuringSchedulingIgnoredDuringExecution: - podAffinityTerm: labelSelector: matchExpressions: - key: component operator: In values: - swift-proxy topologyKey: kubernetes.io/hostname weight: 100 containers: - args: - -DFOREGROUND command: - /usr/sbin/httpd env: - name: CONFIG_HASH value: nf6h76h687hffh5b9h54fhcdh676hc6h578hdfhffh67fhfbh58bh575hd5h9bh5dbh67bh5ddh5b6h57bh55fh54fh55fhddh5bdh5d5h689h6ch55dq image: quay.io/podified-antelope-centos9/openstack-swift-proxy-server@sha256:6c3eb966650a7a98feb4ddb31e1bdba1095b0c62e349196aca6a423681d7e5fb imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 8080 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 3 successThreshold: 1 timeoutSeconds: 5 name: proxy-httpd ports: - containerPort: 8080 name: proxy-httpd protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 8080 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 42445 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /etc/swift name: etc-swift - mountPath: /etc/httpd/conf/httpd.conf name: config-data readOnly: true subPath: httpd.conf - mountPath: /etc/httpd/conf.d/ssl.conf name: config-data readOnly: true subPath: ssl.conf - mountPath: /run/httpd name: run-httpd - mountPath: /var/log/httpd name: log-httpd - mountPath: /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem name: combined-ca-bundle readOnly: true subPath: tls-ca-bundle.pem - mountPath: /etc/pki/tls/certs/internal.crt name: internal-tls-certs readOnly: true subPath: tls.crt - mountPath: /etc/pki/tls/private/internal.key name: internal-tls-certs readOnly: true subPath: tls.key - mountPath: /etc/pki/tls/certs/public.crt name: public-tls-certs readOnly: true subPath: tls.crt - mountPath: /etc/pki/tls/private/public.key name: public-tls-certs readOnly: true subPath: tls.key - command: - /usr/bin/swift-proxy-server - /etc/swift/proxy-server.conf.d - -v env: - name: CONFIG_HASH value: nf6h76h687hffh5b9h54fhcdh676hc6h578hdfhffh67fhfbh58bh575hd5h9bh5dbh67bh5ddh5b6h57bh55fh54fh55fhddh5bdh5d5h689h6ch55dq image: quay.io/podified-antelope-centos9/openstack-swift-proxy-server@sha256:6c3eb966650a7a98feb4ddb31e1bdba1095b0c62e349196aca6a423681d7e5fb imagePullPolicy: IfNotPresent livenessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 8080 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 3 successThreshold: 1 timeoutSeconds: 5 name: proxy-server ports: - containerPort: 8081 name: proxy-server protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 8080 scheme: HTTPS initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 5 resources: {} securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsNonRoot: true runAsUser: 42445 terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /etc/swift name: etc-swift - 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: Always schedulerName: default-scheduler securityContext: fsGroup: 42445 runAsNonRoot: true seccompProfile: type: RuntimeDefault serviceAccount: swift-swift serviceAccountName: swift-swift terminationGracePeriodSeconds: 30 volumes: - name: config-data secret: defaultMode: 420 secretName: swift-proxy-config-data - name: etc-swift projected: defaultMode: 420 sources: - secret: items: - key: 00-proxy-server.conf path: proxy-server.conf.d/00-proxy-server.conf - key: 01-proxy-server.conf path: proxy-server.conf.d/01-proxy-server.conf - key: dispersion.conf path: dispersion.conf - key: keymaster.conf path: keymaster.conf name: swift-proxy-config-data - secret: name: swift-conf - configMap: name: swift-ring-files - emptyDir: {} name: run-httpd - emptyDir: {} name: log-httpd - name: combined-ca-bundle secret: defaultMode: 292 secretName: combined-ca-bundle - name: internal-tls-certs secret: defaultMode: 256 secretName: cert-swift-internal-svc - name: public-tls-certs secret: defaultMode: 256 secretName: cert-swift-public-svc status: availableReplicas: 1 conditions: - lastTransitionTime: "2026-03-12T18:48:33Z" lastUpdateTime: "2026-03-12T18:48:33Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-03-12T18:48:22Z" lastUpdateTime: "2026-03-12T18:48:33Z" message: ReplicaSet "swift-proxy-7b649cbbbb" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "39245"