--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.15/23"],"mac_address":"0a:58:0a:84:00:0f","gateway_ips":["10.132.0.1"],"routes":[{"dest":"10.132.0.0/14","nextHop":"10.132.0.1"},{"dest":"172.31.0.0/16","nextHop":"10.132.0.1"},{"dest":"169.254.0.5/32","nextHop":"10.132.0.1"},{"dest":"100.64.0.0/16","nextHop":"10.132.0.1"}],"ip_address":"10.132.0.15/23","gateway_ip":"10.132.0.1","role":"primary"}}' k8s.v1.cni.cncf.io/network-status: |- [{ "name": "ovn-kubernetes", "interface": "eth0", "ips": [ "10.132.0.15" ], "mac": "0a:58:0a:84:00:0f", "default": true, "dns": {} }] openshift.io/required-scc: nonroot-v2 openshift.io/scc: nonroot-v2 seccomp.security.alpha.kubernetes.io/pod: runtime/default security.openshift.io/validated-scc-subject-type: serviceaccount creationTimestamp: "2026-07-06T14:25:16Z" generateName: migrator-d57d58cc9- generation: 1 labels: app: migrator pod-template-hash: d57d58cc9 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:openshift.io/required-scc: {} f:target.workload.openshift.io/management: {} f:generateName: {} f:labels: .: {} f:app: {} f:pod-template-hash: {} f:ownerReferences: .: {} k:{"uid":"59359047-e8c8-46f3-8975-991cf2a17683"}: {} f:spec: f:containers: k:{"name":"graceful-termination"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} k:{"name":"migrator"}: .: {} f:args: {} f:command: {} f:image: {} f:imagePullPolicy: {} f:name: {} f:resources: .: {} f:requests: .: {} f:cpu: {} f:memory: {} f:securityContext: .: {} f:allowPrivilegeEscalation: {} f:capabilities: .: {} f:drop: {} f:runAsUser: {} f:terminationMessagePath: {} f:terminationMessagePolicy: {} f:dnsPolicy: {} f:enableServiceLinks: {} f:priorityClassName: {} f:restartPolicy: {} f:schedulerName: {} f:securityContext: .: {} f:runAsNonRoot: {} f:seccompProfile: .: {} f:type: {} f:serviceAccount: {} f:serviceAccountName: {} f:terminationGracePeriodSeconds: {} f:tolerations: {} manager: kube-controller-manager operation: Update time: "2026-07-06T14:25:16Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-140-204 operation: Update subresource: status time: "2026-07-06T14:25:17Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.v1.cni.cncf.io/network-status: {} manager: multus-daemon operation: Update subresource: status time: "2026-07-06T14:25:17Z" - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:status: f:conditions: k:{"type":"ContainersReady"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"Initialized"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodReadyToStartContainers"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} k:{"type":"PodScheduled"}: f:observedGeneration: {} k:{"type":"Ready"}: .: {} f:lastProbeTime: {} f:lastTransitionTime: {} f:observedGeneration: {} f:status: {} f:type: {} f:containerStatuses: {} f:hostIP: {} f:hostIPs: {} f:observedGeneration: {} f:phase: {} f:podIP: {} f:podIPs: .: {} k:{"ip":"10.132.0.15"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-06T14:25:19Z" name: migrator-d57d58cc9-9ktb2 namespace: openshift-kube-storage-version-migrator ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: migrator-d57d58cc9 uid: 59359047-e8c8-46f3-8975-991cf2a17683 resourceVersion: "7712" uid: da2dfe16-32aa-421d-b094-4dddab657b2f spec: containers: - args: - |- trap 'echo "Termination signal received, but ignored. Continuing..."; sleep infinity' TERM migrator "$@" & wait $! - bash - --alsologtostderr - --v=2 command: - /bin/bash - -c image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c0bb1c60aa352f4838a3163d1d871b614ac713f17a23b7fbd3c43573c4a5cef0 imagePullPolicy: IfNotPresent name: migrator resources: requests: cpu: 10m memory: 200Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1001 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lst69 readOnly: true - args: - |- trap 'echo "Gracefully sleeping for 25s to let another pod start..."; sleep 25; exit' EXIT while true; do echo "Waiting for termination..."; sleep 3600 & wait $!; done command: - /bin/bash - -c image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c0bb1c60aa352f4838a3163d1d871b614ac713f17a23b7fbd3c43573c4a5cef0 imagePullPolicy: IfNotPresent name: graceful-termination resources: requests: cpu: 1m memory: 1Mi securityContext: allowPrivilegeEscalation: false capabilities: drop: - ALL runAsUser: 1001 terminationMessagePath: /dev/termination-log terminationMessagePolicy: FallbackToLogsOnError volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lst69 readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kube-storage-version-migrator-sa-dockercfg-q47qw nodeName: ip-10-0-140-204.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 2000000000 priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seLinuxOptions: level: s0:c25,c10 seccompProfile: type: RuntimeDefault serviceAccount: kube-storage-version-migrator-sa serviceAccountName: kube-storage-version-migrator-sa terminationGracePeriodSeconds: 30 tolerations: - effect: NoSchedule key: node-role.kubernetes.io/master operator: Exists - effect: NoExecute key: node.kubernetes.io/unreachable operator: Exists tolerationSeconds: 120 - effect: NoExecute key: node.kubernetes.io/not-ready operator: Exists tolerationSeconds: 120 - effect: NoSchedule key: node.kubernetes.io/memory-pressure operator: Exists volumes: - name: kube-api-access-lst69 projected: defaultMode: 420 sources: - serviceAccountToken: expirationSeconds: 3607 path: token - configMap: items: - key: ca.crt path: ca.crt name: kube-root-ca.crt - downwardAPI: items: - fieldRef: apiVersion: v1 fieldPath: metadata.namespace path: namespace - configMap: items: - key: service-ca.crt path: service-ca.crt name: openshift-service-ca.crt status: conditions: - lastProbeTime: null lastTransitionTime: "2026-07-06T14:25:19Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-06T14:25:17Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-06T14:25:19Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-06T14:25:19Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-06T14:25:16Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 1m memory: 1Mi containerID: cri-o://15e82a923e782ec06d889b4726c35359997b6019fea156a02c05893780a07277 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c0bb1c60aa352f4838a3163d1d871b614ac713f17a23b7fbd3c43573c4a5cef0 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bb2b1c98d7b28b0961d3ebcafa1355ec98b06f213eb613556554319ac0d4c60d lastState: {} name: graceful-termination ready: true resources: requests: cpu: 1m memory: 1Mi restartCount: 0 started: true state: running: startedAt: "2026-07-06T14:25:19Z" user: linux: gid: 0 supplementalGroups: - 0 uid: 1001 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lst69 readOnly: true recursiveReadOnly: Disabled - allocatedResources: cpu: 10m memory: 200Mi containerID: cri-o://88411042769d24cdc1f6e0d4809140c34fb276a95b99b96e6c7c7705ca7d5ef4 image: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:c0bb1c60aa352f4838a3163d1d871b614ac713f17a23b7fbd3c43573c4a5cef0 imageID: quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:bb2b1c98d7b28b0961d3ebcafa1355ec98b06f213eb613556554319ac0d4c60d lastState: {} name: migrator ready: true resources: requests: cpu: 10m memory: 200Mi restartCount: 0 started: true state: running: startedAt: "2026-07-06T14:25:19Z" user: linux: gid: 0 supplementalGroups: - 0 uid: 1001 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-lst69 readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.140.204 hostIPs: - ip: 10.0.140.204 observedGeneration: 1 phase: Running podIP: 10.132.0.15 podIPs: - ip: 10.132.0.15 qosClass: Burstable startTime: "2026-07-06T14:25:17Z" kind: PodList metadata: resourceVersion: "57595"