--- apiVersion: apps/v1 items: - apiVersion: apps/v1 kind: Deployment metadata: annotations: deployment.kubernetes.io/revision: "17" creationTimestamp: "2026-02-23T14:47:28Z" generation: 17 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"c6957506-b297-4d6a-a280-9a7187e0c686"}: {} 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-02-23T14:52:02Z" - 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-02-23T14:52:13Z" name: dnsmasq-dns namespace: openstack ownerReferences: - apiVersion: network.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: DNSMasq name: dns uid: c6957506-b297-4d6a-a280-9a7187e0c686 resourceVersion: "35289" uid: 4c1487de-6c17-495b-b24b-293c364e2e97 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: n64dh8bh67ch5ddhdhfch577h9fh5f6h5c4h96h587h549h56fh649h646hc9h565h5b5h556h5d4h554h8dh577h84h655h66dhb9h586h594h64fhb9q - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:c21a3e6f24adda8d9f7cfdb1115a43c928c3ee0ec263e331a215d9da533bbfcd 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: n64dh8bh67ch5ddhdhfch577h9fh5f6h5c4h96h587h549h56fh649h646hc9h565h5b5h556h5d4h554h8dh577h84h655h66dhb9h586h594h64fhb9q - name: POD_IP valueFrom: fieldRef: apiVersion: v1 fieldPath: status.podIP image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:c21a3e6f24adda8d9f7cfdb1115a43c928c3ee0ec263e331a215d9da533bbfcd 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-02-23T14:47:57Z" lastUpdateTime: "2026-02-23T14:47:57Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:47:28Z" lastUpdateTime: "2026-02-23T14:52:13Z" message: ReplicaSet "dnsmasq-dns-6746dffb99" 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-02-23T14:50:01Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"21ba651c-05f3-4d8f-80fa-0dc06f768ef0"}: {} 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-02-23T14:50:04Z" - 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-02-23T14:50:17Z" name: ironic namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: IronicAPI name: ironic-api uid: 21ba651c-05f3-4d8f-80fa-0dc06f768ef0 resourceVersion: "32510" uid: 2eece37c-ebd6-4832-8081-c5130d3aea61 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: n5f6h65fh78h5fch6fh5d6h7hf7h95h584h649h547h55bh65fh57ch5ffh556h654h79h9fhc8h668h4h69h5b8h66ch66dh97h594h7dh5dch56cq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-api@sha256:02f558cf4c54f02f0032f919b1e02673d2f65438aa1d837ab4587728c50cbc2f 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: n5f6h65fh78h5fch6fh5d6h7hf7h95h584h649h547h55bh65fh57ch5ffh556h654h79h9fhc8h668h4h69h5b8h66ch66dh97h594h7dh5dch56cq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-api@sha256:02f558cf4c54f02f0032f919b1e02673d2f65438aa1d837ab4587728c50cbc2f 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:02f558cf4c54f02f0032f919b1e02673d2f65438aa1d837ab4587728c50cbc2f 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-02-23T14:50:17Z" lastUpdateTime: "2026-02-23T14:50:17Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:50:01Z" lastUpdateTime: "2026-02-23T14:50:17Z" message: ReplicaSet "ironic-55d877d745" 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-02-23T14:50:00Z" generation: 1 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"2a3ceb1c-17fb-4a0c-ad7d-0b884c59381d"}: {} 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-02-23T14:50:00Z" - 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-02-23T14:50:36Z" name: ironic-neutron-agent namespace: openstack ownerReferences: - apiVersion: ironic.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: IronicNeutronAgent name: ironic-ironic-neutron-agent uid: 2a3ceb1c-17fb-4a0c-ad7d-0b884c59381d resourceVersion: "33057" uid: cbdc2e1a-7119-4cb6-adaa-09ea3bdc8eed 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: n68bhcdh59h664hd8h5b8h7fh646h98h554h67fh5ffhfch649h5f6h677hf9h5fbhfch646h589hf8h56h5bfh5d5h94hb4h57chf6h59h5dhcfq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-ironic-neutron-agent@sha256:a3f5b519c7fc33e9f66fe553a7bc5cce51c3ff01223190cfa93bb75149a1dfcc 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-02-23T14:50:36Z" lastUpdateTime: "2026-02-23T14:50:36Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:50:00Z" lastUpdateTime: "2026-02-23T14:50:36Z" message: ReplicaSet "ironic-neutron-agent-769d7f49c5" 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: "1" creationTimestamp: "2026-02-23T14:49:39Z" generation: 1 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"63ae8d04-2008-42c1-8008-59ea10cd34e5"}: {} 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-02-23T14:49:39Z" - 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-02-23T14:50:12Z" name: keystone namespace: openstack ownerReferences: - apiVersion: keystone.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: KeystoneAPI name: keystone uid: 63ae8d04-2008-42c1-8008-59ea10cd34e5 resourceVersion: "32379" uid: 5d4f1b4c-71ce-43b0-9d37-82f52dcf78d5 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: n5fdh5c5hd7hd4h676h666h655h5f4h64bh65bh5cch84hfchc9hf9h9h54h5ch59chb5hcbhc7h689h55ch594h5fdh56bh56bh5d5h55fhb5h97q - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-keystone@sha256:f278ba51944ed62c43b97612829b4723befd0c69bf7f4bd305230a7e4ceb5ec8 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-02-23T14:50:12Z" lastUpdateTime: "2026-02-23T14:50:12Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:49:39Z" lastUpdateTime: "2026-02-23T14:50:12Z" message: ReplicaSet "keystone-56fc45f8f5" 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-02-23T14:49:52Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"dc30376a-97dc-429e-91de-c2bd6dfd1b9c"}: {} 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-02-23T14:49:56Z" - 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-02-23T14:50:26Z" name: neutron namespace: openstack ownerReferences: - apiVersion: neutron.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: NeutronAPI name: neutron uid: dc30376a-97dc-429e-91de-c2bd6dfd1b9c resourceVersion: "32810" uid: e763ed08-1db0-4cd2-8ad4-ea980b8469bc 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: n5f8h64bh56bh568h66bhcbhd7h5bh7fh6fh88h56h64chfdhc9h7ch5bh687h656h5d8h669h5c7h5bdh699hd6h7h5d9h575hd9h5c8h587h65bq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:c21a3e6f24adda8d9f7cfdb1115a43c928c3ee0ec263e331a215d9da533bbfcd 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: n5f8h64bh56bh568h66bhcbhd7h5bh7fh6fh88h56h64chfdhc9h7ch5bh687h656h5d8h669h5c7h5bdh699hd6h7h5d9h575hd9h5c8h587h65bq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-neutron-server@sha256:c21a3e6f24adda8d9f7cfdb1115a43c928c3ee0ec263e331a215d9da533bbfcd 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-02-23T14:50:23Z" lastUpdateTime: "2026-02-23T14:50:23Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:49:52Z" lastUpdateTime: "2026-02-23T14:50:26Z" message: ReplicaSet "neutron-5b8b575dff" 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-02-23T14:49:33Z" generation: 2 managedFields: - apiVersion: apps/v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:ownerReferences: .: {} k:{"uid":"0fcfde1f-3ec6-4130-808a-ffd565a73b98"}: {} 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-02-23T14:50:05Z" - 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-02-23T14:50:38Z" name: placement namespace: openstack ownerReferences: - apiVersion: placement.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: PlacementAPI name: placement uid: 0fcfde1f-3ec6-4130-808a-ffd565a73b98 resourceVersion: "33179" uid: 0073980c-c0cb-44c1-801c-d3f8f359d802 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: n59fh5f5h668h85h66ch54dh68bh94hb4h699h5f8h5cchb6hd8h54dh5cfh579h669h88h598h574h5d8h74h9ch5b5h8fhb7h599h58dhbhb5h9fq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-placement-api@sha256:92021b9fa077b6fc021f2910d238184f2a7dacc0a564b5da13f4b0fb68318cf0 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: n59fh5f5h668h85h66ch54dh68bh94hb4h699h5f8h5cchb6hd8h54dh5cfh579h669h88h598h574h5d8h74h9ch5b5h8fhb7h599h58dhbhb5h9fq - name: KOLLA_CONFIG_STRATEGY value: COPY_ALWAYS image: quay.io/podified-antelope-centos9/openstack-placement-api@sha256:92021b9fa077b6fc021f2910d238184f2a7dacc0a564b5da13f4b0fb68318cf0 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-02-23T14:50:04Z" lastUpdateTime: "2026-02-23T14:50:04Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:49:33Z" lastUpdateTime: "2026-02-23T14:50:38Z" message: ReplicaSet "placement-5fb8596466" 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-02-23T14:50:16Z" 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":"09bb39a2-e20a-42d3-8ef5-88d15b359529"}: {} 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-02-23T14:50:16Z" - 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-02-23T14:50:27Z" name: swift-proxy namespace: openstack ownerReferences: - apiVersion: swift.openstack.org/v1beta1 blockOwnerDeletion: true controller: true kind: SwiftProxy name: swift-proxy uid: 09bb39a2-e20a-42d3-8ef5-88d15b359529 resourceVersion: "32837" uid: 10d0c406-bf40-4c0c-a83e-2e3e17fce6f1 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: ncbh659h55fh98h56h59dh5cchbfhf7h674h699h65fh58ch57dh5d5h666hbfh567h7dh67dhc8h57dh599h65h557h578hfdhf5h9hb7hdch54q image: quay.io/podified-antelope-centos9/openstack-swift-proxy-server@sha256:bed63ddf64b7a100451f17bc370e74648fb3db9db0d3c538b07396a00fdbd123 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: ncbh659h55fh98h56h59dh5cchbfhf7h674h699h65fh58ch57dh5d5h666hbfh567h7dh67dhc8h57dh599h65h557h578hfdhf5h9hb7hdch54q image: quay.io/podified-antelope-centos9/openstack-swift-proxy-server@sha256:bed63ddf64b7a100451f17bc370e74648fb3db9db0d3c538b07396a00fdbd123 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-02-23T14:50:27Z" lastUpdateTime: "2026-02-23T14:50:27Z" message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: "True" type: Available - lastTransitionTime: "2026-02-23T14:50:16Z" lastUpdateTime: "2026-02-23T14:50:27Z" message: ReplicaSet "swift-proxy-7cd7df45f8" has successfully progressed. reason: NewReplicaSetAvailable status: "True" type: Progressing observedGeneration: 1 readyReplicas: 1 replicas: 1 updatedReplicas: 1 kind: DeploymentList metadata: resourceVersion: "53847"