--- apiVersion: v1 items: - apiVersion: v1 kind: Pod metadata: annotations: k8s.ovn.org/pod-networks: '{"default":{"ip_addresses":["10.132.0.10/23"],"mac_address":"0a:58:0a:84:00:0a","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.10/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.10" ], "mac": "0a:58:0a:84:00:0a", "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-08T20:00:57Z" generateName: migrator-d57d58cc9- generation: 1 labels: app: migrator pod-template-hash: d57d58cc9 managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: f:k8s.ovn.org/pod-networks: {} manager: ip-10-0-136-70 operation: Update subresource: status time: "2026-07-08T20:00:57Z" - 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":"57356980-3c15-48fb-95cb-43a2cb2bc332"}: {} 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-08T20:00:57Z" - 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-08T20:00:57Z" - 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.10"}: .: {} f:ip: {} f:startTime: {} manager: kubelet operation: Update subresource: status time: "2026-07-08T20:01:00Z" name: migrator-d57d58cc9-vl8qr namespace: openshift-kube-storage-version-migrator ownerReferences: - apiVersion: apps/v1 blockOwnerDeletion: true controller: true kind: ReplicaSet name: migrator-d57d58cc9 uid: 57356980-3c15-48fb-95cb-43a2cb2bc332 resourceVersion: "7408" uid: 3fad1ae9-d801-4cb5-b630-bc1b80c6d4a4 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-drq4d 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-drq4d readOnly: true dnsPolicy: ClusterFirst enableServiceLinks: true imagePullSecrets: - name: kube-storage-version-migrator-sa-dockercfg-dvk5d nodeName: ip-10-0-136-70.ec2.internal preemptionPolicy: PreemptLowerPriority priority: 2000000000 priorityClassName: system-cluster-critical restartPolicy: Always schedulerName: default-scheduler securityContext: runAsNonRoot: true seLinuxOptions: level: s0:c25,c5 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-drq4d 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-08T20:01:00Z" observedGeneration: 1 status: "True" type: PodReadyToStartContainers - lastProbeTime: null lastTransitionTime: "2026-07-08T20:00:57Z" observedGeneration: 1 status: "True" type: Initialized - lastProbeTime: null lastTransitionTime: "2026-07-08T20:01:00Z" observedGeneration: 1 status: "True" type: Ready - lastProbeTime: null lastTransitionTime: "2026-07-08T20:01:00Z" observedGeneration: 1 status: "True" type: ContainersReady - lastProbeTime: null lastTransitionTime: "2026-07-08T20:00:57Z" observedGeneration: 1 status: "True" type: PodScheduled containerStatuses: - allocatedResources: cpu: 1m memory: 1Mi containerID: cri-o://40c7aa252abdb6056c35d258ae757c601a2f49b9227172fac44d315e07352a35 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-08T20:00:59Z" user: linux: gid: 0 supplementalGroups: - 0 uid: 1001 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-drq4d readOnly: true recursiveReadOnly: Disabled - allocatedResources: cpu: 10m memory: 200Mi containerID: cri-o://0cb49dcd82b3abb77ff312b9a5deed5091cabe44bc3124849ba99477fab97b7c 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-08T20:00:59Z" user: linux: gid: 0 supplementalGroups: - 0 uid: 1001 volumeMounts: - mountPath: /var/run/secrets/kubernetes.io/serviceaccount name: kube-api-access-drq4d readOnly: true recursiveReadOnly: Disabled hostIP: 10.0.136.70 hostIPs: - ip: 10.0.136.70 observedGeneration: 1 phase: Running podIP: 10.132.0.10 podIPs: - ip: 10.132.0.10 qosClass: Burstable startTime: "2026-07-08T20:00:57Z" kind: PodList metadata: resourceVersion: "53832"