Skip to content

Conversation

@isabella-janssen
Copy link
Member

@isabella-janssen isabella-janssen commented Sep 12, 2025

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
    • Spec.ConfigImage.DesiredImage
    • Status.ConfigImage.CurrentImage
    • Status.ConfigImage.DesiredImage
    • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it
MCO-1713:

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
  name: worker
spec:
  machineConfigPool:
    name: worker
  imageBuilder:
    imageBuilderType: Job
  renderedImagePushSecret:
    name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
  renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
    • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement. See this thread for more details on the intended experience.
    • The new MCN fields should be correctly populated.
    • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
    • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  2. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
    • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process. See this thread for more details on the intended experience.
    • The new MCN fields should be correctly populated.
      • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
      • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.
Example `oc get machineconfignode` outputs for OCB enabling
$ oc get machineconfignode -w
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m
Example `oc get machineconfignode -o wide` outputs for OCB enabling
$ oc get machineconfignode -o wide -w                                                 
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   UNCORDONEDNODE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m   False            False            False                      False            False     False               False          False         False          False
Example MCN before OCB enabling
$ oc describe machineconfignode/ip-10-0-89-221.us-west-1.compute.internal
Name:         ip-10-0-89-221.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
  Creation Timestamp:  2025-10-09T14:36:18Z
  Generation:          2
  Owner References:
    API Version:     v1
    Kind:            Node
    Name:            ip-10-0-89-221.us-west-1.compute.internal
    UID:             ca4b824a-b5c5-448c-80a4-c1f104460f5d
  Resource Version:  29761
  UID:               57d6cd1f-aaf9-4707-bd6f-9b8f9c7a03b9
Spec:
  Config Version:
    Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Node:
    Name:  ip-10-0-89-221.us-west-1.compute.internal
  Pool:
    Name:  worker
Status:
  Conditions:
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               All pinned image sets complete
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsProgressing
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the UpdatePrepared phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  UpdatePrepared
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the UpdateExecuted phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  UpdateExecuted
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the UpdatePostActionComplete phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  UpdatePostActionComplete
    Last Transition Time:  2025-10-09T14:37:21Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
    Reason:                Uncordoned
    Status:                False
    Type:                  UpdateComplete
    Last Transition Time:  2025-10-09T14:37:21Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config . Resumed normal operations.
    Reason:                Resumed
    Status:                False
    Type:                  Resumed
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the Drained phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  Drained
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the AppliedFilesAndOS phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  AppliedFilesAndOS
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the ImagePulledFromRegistry phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  ImagePulledFromRegistry
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the Cordoned phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  Cordoned
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the RebootedNode phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  RebootedNode
    Last Transition Time:  2025-10-09T14:37:21Z
    Message:               Node ip-10-0-89-221.us-west-1.compute.internal Updated
    Reason:                Updated
    Status:                True
    Type:                  Updated
    Last Transition Time:  2025-10-09T14:37:21Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateCompleteUncordoned
    Status:                False
    Type:                  Uncordoned
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               This node has not yet entered the NodeDegraded phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  NodeDegraded
    Last Transition Time:  2025-10-09T14:36:27Z
    Message:               All is good
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsDegraded
  Config Version:
    Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
    Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Observed Generation:  3
Events:                 
Example MCN during OCB enabling
```
$ oc describe machineconfignode/ip-10-0-59-172.us-west-1.compute.internal
Name:         ip-10-0-59-172.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
  Creation Timestamp:  2025-10-09T14:24:35Z
  Generation:          3
  Owner References:
    API Version:     v1
    Kind:            Node
    Name:            ip-10-0-59-172.us-west-1.compute.internal
    UID:             0fdce8f3-b36d-4f0c-a6dd-2fe47fb4d1c8
  Resource Version:  44328
  UID:               2f93aa14-f698-427d-8d9c-fa43d4d28e2d
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
  Config Version:
    Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Node:
    Name:  ip-10-0-59-172.us-west-1.compute.internal
  Pool:
    Name:  worker
Status:
  Conditions:
    Last Transition Time:  2025-10-09T14:24:35Z
    Message:               All pinned image sets complete
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsProgressing
    Last Transition Time:  2025-10-09T15:10:31Z
    Message:               Update Compatible. Post Cfg Actions: [] Drain Required: true
    Reason:                UpdatePrepared
    Status:                True
    Type:                  UpdatePrepared
    Last Transition Time:  2025-10-09T15:10:36Z
    Message:               Draining Node as part of update executed phase
    Reason:                Drained
    Status:                Unknown
    Type:                  UpdateExecuted
    Last Transition Time:  2025-10-09T14:34:02Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
    Reason:                None
    Status:                False
    Type:                  UpdatePostActionComplete
    Last Transition Time:  2025-10-09T14:26:12Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
    Reason:                Uncordoned
    Status:                False
    Type:                  UpdateComplete
    Last Transition Time:  2025-10-09T14:34:02Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations. Applying proper annotations.
    Reason:                Resumed
    Status:                False
    Type:                  Resumed
    Last Transition Time:  2025-10-09T15:10:36Z
    Message:               Draining node. The drain will not be complete until desired drainer drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40 matches current drainer uncordon-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
    Reason:                UpdateExecutedDrained
    Status:                Unknown
    Type:                  Drained
    Last Transition Time:  2025-10-09T14:34:02Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Applied files and new OS config to node. OS did not need an update. SSH Keys did not need an update
    Reason:                UpdateExecutedAppliedFilesAndOS
    Status:                False
    Type:                  AppliedFilesAndOS
    Last Transition Time:  2025-10-09T14:24:35Z
    Message:               This node has not yet entered the ImagePulledFromRegistry phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  ImagePulledFromRegistry
    Last Transition Time:  2025-10-09T15:10:36Z
    Message:               Cordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateExecutedCordoned
    Status:                True
    Type:                  Cordoned
    Last Transition Time:  2025-10-09T14:24:35Z
    Message:               This node has not yet entered the RebootedNode phase
    Reason:                NotYetOccurred
    Status:                False
    Type:                  RebootedNode
    Last Transition Time:  2025-10-09T15:10:31Z
    Message:               Node ip-10-0-59-172.us-west-1.compute.internal needs an update
    Reason:                Updated
    Status:                False
    Type:                  Updated
    Last Transition Time:  2025-10-09T14:26:12Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateCompleteUncordoned
    Status:                False
    Type:                  Uncordoned
    Last Transition Time:  2025-10-09T14:33:58Z
    Message:               Node ip-10-0-59-172.us-west-1.compute.internal upgrade succeeded
    Reason:                NodeDegraded
    Status:                False
    Type:                  NodeDegraded
    Last Transition Time:  2025-10-09T14:24:35Z
    Message:               All is good
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsDegraded
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
  Config Version:
    Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
    Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Observed Generation:  4
Events:                 
```
Example MCN after OCB enabled
```
$ oc describe machineconfignode/ip-10-0-14-86.us-west-1.compute.internal
Name:         ip-10-0-14-86.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
  Creation Timestamp:  2025-10-09T14:24:55Z
  Generation:          2
  Owner References:
    API Version:     v1
    Kind:            Node
    Name:            ip-10-0-14-86.us-west-1.compute.internal
    UID:             53b3daf3-78c5-4850-b041-5d535bef4f85
  Resource Version:  44165
  UID:               6cd99611-35ed-4d77-92ee-d23eadbaa339
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
  Config Version:
    Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Node:
    Name:  ip-10-0-14-86.us-west-1.compute.internal
  Pool:
    Name:  worker
Status:
  Conditions:
    Last Transition Time:  2025-10-09T15:10:04Z
    Message:               All pinned image sets complete
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsProgressing
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Update Compatible. Post Cfg Actions: [] Drain Required: true
    Reason:                UpdatePrepared
    Status:                False
    Type:                  UpdatePrepared
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Updated the Files and OS on disk as a part of the in progress phase
    Reason:                AppliedFilesAndOS
    Status:                False
    Type:                  UpdateExecuted
    Last Transition Time:  2025-10-09T14:34:10Z
    Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
    Reason:                None
    Status:                False
    Type:                  UpdatePostActionComplete
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Uncordoned Node as part of completing upgrade phase
    Reason:                Uncordoned
    Status:                False
    Type:                  UpdateComplete
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations.
    Reason:                Resumed
    Status:                False
    Type:                  Resumed
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
    Reason:                UpdateExecutedDrained
    Status:                False
    Type:                  Drained
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Applied files and new OS config to node. OS did  need an update. SSH Keys did not need an update
    Reason:                UpdateExecutedAppliedFilesAndOS
    Status:                False
    Type:                  AppliedFilesAndOS
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Successfully pulled OS image image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3 from registry
    Reason:                ImagePulledFromRegistry
    Status:                False
    Type:                  ImagePulledFromRegistry
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Cordoned node. The node is reporting Unschedulable = false
    Reason:                UpdateExecutedCordoned
    Status:                False
    Type:                  Cordoned
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Node has rebooted
    Reason:                RebootedNode
    Status:                False
    Type:                  RebootedNode
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Node ip-10-0-14-86.us-west-1.compute.internal Updated
    Reason:                Updated
    Status:                True
    Type:                  Updated
    Last Transition Time:  2025-10-09T15:10:25Z
    Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: UnCordoned node. The node is reporting Unschedulable = true
    Reason:                UpdateCompleteUncordoned
    Status:                False
    Type:                  Uncordoned
    Last Transition Time:  2025-10-09T14:34:06Z
    Message:               Node ip-10-0-14-86.us-west-1.compute.internal upgrade succeeded
    Reason:                NodeDegraded
    Status:                False
    Type:                  NodeDegraded
    Last Transition Time:  2025-10-09T15:10:04Z
    Message:               All is good
    Reason:                AsExpected
    Status:                False
    Type:                  PinnedImageSetsDegraded
  Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
  Config Version:
    Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
    Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
  Observed Generation:  3
Events:                 
```

OCPBUGS-52302:

  1. Launch a 4.21 cluster with this PR build included. Note that it can be a tech preview cluster, but does not need to be.
launch 4.21,openshift/machine-config-operator#5282 aws
  1. Apply a MachineConfig to trigger a node update.
  2. Track how the desired configs are updated in the MCN's spec and status. The desired config value in the spec should update before the UpdatePrepared condition is True and before the desired config version is updated in the status.
    Example grep to see the necessary fields:
oc describe machineconfignode/<node-name> | grep -E "Config Version|UpdatePrepared" -A 2

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields; OCPBUGS-52302: Correct timing of desired config being set in MCN spec

@openshift-ci openshift-ci bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Sep 12, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 12, 2025

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Sep 12, 2025
@isabella-janssen isabella-janssen changed the title bump(api): update api dependency to commit 2acafd4 MCO-1713: Update MCN flow to include image mode specific fields Sep 12, 2025
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Sep 12, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 12, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

- Description for the changelog

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 12, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

- Description for the changelog

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 12, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
    • Assisted by cursor * Update MCN flows to add new image-mode specific fields.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

- Description for the changelog

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 12, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

- Description for the changelog

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 24, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

1 similar comment
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 24, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@isabella-janssen isabella-janssen changed the title MCO-1713: Update MCN flow to include image mode specific fields MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields Sep 24, 2025
@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.

Note that this is a rebased & slightly modified version of work previously completed by @naseerahkani in #5177.

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 25, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
  2. Enable On Cluster Image Mode.
  3. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 26, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement.
  • The new MCN fields should be correctly populated.
    • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
    • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  1. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process.
  • The new MCN fields should be correctly populated.
    • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
    • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 29, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.
  • Make sure desired image is removed from spec immediately

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement.
  • The new MCN fields should be correctly populated.
    • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
    • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  1. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process.
  • The new MCN fields should be correctly populated.
    • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
    • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@isabella-janssen
Copy link
Member Author

/payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-1of3 periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-2of3 periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-3of3 payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview-serial

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Sep 29, 2025

@isabella-janssen: trigger 4 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-1of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-2of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-3of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-gcp-ovn-techpreview-serial

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/6020a8e0-9d6b-11f0-88e9-55df9f5437a6-0

@openshift-ci-robot
Copy link
Contributor

openshift-ci-robot commented Sep 30, 2025

@isabella-janssen: This pull request references MCO-1713 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "4.21.0" version, but no target version was set.

Details

In response to this:

TODO:

  • Make sure updated flips on config image anno update
  • Make sure image pull condition shows in default condition list (if wanted)
  • Check on OCL disable clearing desired image
  • Check on TODO comments
  • On OCL enable make sure desired anno does not get get set to not yet set
  • Make sure current image is removed on OCL disable
  • Update the Action during update to rendered-worker-xyz to instead include the reference to the image anno update if its a layered image update.
  • Make sure desired image is removed from spec immediately
  • Question: ImagePulledFromRegistry is not removed on OCL disable currently. Do we want to remove it when OCL is disabled or keep it for history?

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement.
  • The new MCN fields should be correctly populated.
    • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
    • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  1. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process.
  • The new MCN fields should be correctly populated.
    • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
    • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-merge-robot openshift-merge-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 1, 2025
@openshift-merge-robot openshift-merge-robot removed the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Oct 1, 2025
@isabella-janssen
Copy link
Member Author

/payload-job periodic-ci-openshift-machine-config-operator-release-4.21-periodics-e2e-aws-mco-disruptive-techpreview periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-1of3 periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-2of3 periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-3of3

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 9, 2025

@isabella-janssen: trigger 4 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-machine-config-operator-release-4.21-periodics-e2e-aws-mco-disruptive-techpreview
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-1of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-2of3
  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview-serial-3of3

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/d5fdefb0-a549-11f0-917c-7207398bfc3c-0

Copy link
Contributor

@yuqi-zhang yuqi-zhang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

No other concerns on my end, happy to get this in once verified

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Oct 9, 2025
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 9, 2025

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: isabella-janssen, yuqi-zhang

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:
  • OWNERS [isabella-janssen,yuqi-zhang]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

return nil
}

//nolint:gocyclo
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unrelated tou your chang and not blocker: This nolint (and the one in generateAndApplyMachineConfigNodes) is relevant, upgrade_monitor is, at least IMHO (and some basic software metrics, like cyclomatic complexity, maximum annidation, max method/function length, max number of parameters, etc), unmaintanable. As a new team member reading that code for the first time, I felt really unconfident interpreting it and I'd feel like that if I need to touch or interact with it.
I'm not 100% how the golang linter computes cyclomatic complexity and maybe this new nolint is only required because the extra ifs required to evaluate the FeatureGate.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree with your thoughts here. I've created MCO-1902 to track this need and make sure it does not get lost. Thanks for bringing this up!

@isabella-janssen
Copy link
Member Author

/payload-job periodic-ci-openshift-machine-config-operator-release-4.21-periodics-e2e-gcp-mco-disruptive-techpreview

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 14, 2025

@isabella-janssen: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-machine-config-operator-release-4.21-periodics-e2e-gcp-mco-disruptive-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/0ab8ec90-a929-11f0-8011-185c9629f58e-0

@isabella-janssen
Copy link
Member Author

/payload-job periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 14, 2025

@isabella-janssen: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-master-ci-4.21-e2e-aws-ovn-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/91e7e950-a92e-11f0-8490-609fb12783bb-0

@ptalgulk01
Copy link

Pre-merge verified using IPI based AWS cluster

Considered following case to verify:

  1. Verify MCN Image status after OCL enabled
  2. Verify Image is updated in MCN after we apply MC in OCL enabled
    2.a Check for MC like ssh/file/password image Status is not updated
    2.b Check for MC like extension/kernel image Status is updated
  3. Verify the Image status is removed after disable the OCL
  4. Verify the MCN config status update when MC applied

1.a Before MCN update

oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
    ...
   Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a

1.b Apply the below MOSC to enable OCL

MOSC
oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
  name: worker
spec:
  machineConfigPool:
    name: worker
  imageBuilder:
    imageBuilderType: Job
  baseImagePullSecret:
    name: $(oc get secret -n openshift-config pull-secret -o json | jq "del(.metadata.namespace, .metadata.creationTimestamp, .metadata.resourceVersion, .metadata.uid, .metadata.name)" | jq '.metadata.name="pull-copy"' | oc -n openshift-machine-config-operator create -f - &> /dev/null; echo -n "pull-copy")
  renderedImagePushSecret:
    name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
  renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
machineosconfig.machineconfiguration.openshift.io/worker created
1.c Check the MOSB is completed
oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    12m
1.d Check the MCN status update
Logs
oc get machineconfignodes.machineconfiguration.openshift.io -o wide -w
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE    UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   UNCORDONEDNODE
....
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      141m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      134m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     136m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      139m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      147m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     147m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     147m   True             False            False                      False            False     False               False          False         False          False
1.e During the MCN upgrade
oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
    ...
Status:
    Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a  
1.e After the MCN upgrade
oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
    ....
Status:
      Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
1.d Check image is applied on node
$ oc debug node/ip-10-0-5-12.us-east-2.compute.internal -- chroot /host rpm-ostree status
Starting pod/ip-10-0-5-12us-east-2computeinternal-debug-qvm86 ...
To use host binaries, run `chroot /host`
State: idle
Deployments:
* ostree-unverified-registry:image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
                   Digest: sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
                  Version: 9.6.20251013-1 (2025-10-16T12:01:01Z)

Removing debug pod ...


2.a Applied the below file based MC for OCL enabled cluster

MC Template
 oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: test-file
spec:
  config:
    ignition:
      version: 3.4.0
    storage:
      files:
      - contents:
          source: data:text/plain;charset=utf-8;base64,dGVzdA==
        filesystem: root
        mode: 420
        path: /etc/test-file.test
EOF
machineconfig.machineconfiguration.openshift.io/test-file created
2.b Check new MOSB build is already succeeded
$ oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-4d97dd9a8659dc741fe8e60d70986a5f   False      False      True        False         False    1s
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    20m
2.c Monitor the MCN status
$ oc get machineconfignodes.machineconfiguration.openshift.io -o wide -w
2.d Check Image status is not updated even during or after upgrade During upgrade
$ oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
....
Status:
  Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
After Upgrade
 
$ oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
...
Status:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
  Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
2.e Applied below kernel based MC on OCL enabled cluster
MC
oc apply -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: "worker"
  name: 99-infra-realtime-kernel
spec:
  kernelType: "realtime"
EOF
machineconfig.machineconfiguration.openshift.io/99-infra-realtime-kernel created
2.f Check here new build is succeeded
$ oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-11f91246a8d747b471c44940f4c1ebfb   False      True       False       False         False    50s
worker-4d97dd9a8659dc741fe8e60d70986a5f   False      False      True        False         False    16m
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    36m
2.g During update of MCN
$ oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
  Config Version:
    Desired:  rendered-worker-60b3331ccecc8c64e8421719caa512d0
....
  Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
2.h After update of MCN
$ oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
  Config Image:
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
  Config Version:
    Desired:  rendered-worker-60b3331ccecc8c64e8421719caa512d0
....
Status:
   Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
    Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
3.a Delete the OCL
$ oc delete machineosconfig worker
machineosconfig.machineconfiguration.openshift.io "worker" deleted
3.b Check the update for MCN the desired is removed first in spec
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
...
Status:
  Config Image:
    Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:f7cd4cacb7f65af449b719e217e2034eb00e2a3edcd17a0eb90dcc4d45a88624
3.c After upgrade
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
...
Spec:
  Config Version:
    Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
 ...
Status:
   Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a

4.a Apply the below MC

MC Template
$  oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
  labels:
    machineconfiguration.openshift.io/role: worker
  name: test-file
spec:
  config:
    ignition:
      version: 3.4.0
    storage:
      files:
      - contents:
          source: data:text/plain;charset=utf-8;base64,dGVzdA==
        filesystem: root
        mode: 420
        path: /etc/test-file.test
EOF
4.b Check the MCN update
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
  Config Version:
    Desired:  rendered-worker-69e81313bdaef7b5417cdba8dbea8197
Status:
  Config Version:
    Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
    Desired:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197
4.c After the MCN update
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
  Config Version:
    Desired:  rendered-worker-69e81313bdaef7b5417cdba8dbea8197
Status:
  Config Version:
   Current:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197
    Desired:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197

Note: When we delete the MOSC when we have kernel based MC the MCP is getting degraded but this is not related to this PR.

/verified by @ptalgulk01

@ptalgulk01
Copy link

/label qe-approved

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Oct 16, 2025
@openshift-ci-robot
Copy link
Contributor

@ptalgulk01: This PR has been marked as verified by @ptalgulk01.

Details

In response to this:

Pre-merge verified using IPI based AWS cluster

Considered following case to verify:

  1. Verify MCN Image status after OCL enabled
  2. Verify Image is updated in MCN after we apply MC in OCL enabled
    2.a Check for MC like ssh/file/password image Status is not updated
    2.b Check for MC like extension/kernel image Status is updated
  3. Verify the Image status is removed after disable the OCL
  4. Verify the MCN config status update when MC applied

1.a Before MCN update

oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
   ...
  Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a

1.b Apply the below MOSC to enable OCL

MOSC
oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 baseImagePullSecret:
   name: $(oc get secret -n openshift-config pull-secret -o json | jq "del(.metadata.namespace, .metadata.creationTimestamp, .metadata.resourceVersion, .metadata.uid, .metadata.name)" | jq '.metadata.name="pull-copy"' | oc -n openshift-machine-config-operator create -f - &> /dev/null; echo -n "pull-copy")
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
machineosconfig.machineconfiguration.openshift.io/worker created
1.c Check the MOSB is completed
oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    12m
1.d Check the MCN status update
Logs
oc get machineconfignodes.machineconfiguration.openshift.io -o wide -w
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE    UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   UNCORDONEDNODE
....
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     141m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-60-164.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      141m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      134m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     134m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     136m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     137m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     138m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     139m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-64-141.us-east-2.compute.internal   worker     rendered-worker-1b84ba46112fc3be033e39f90efa548a   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      139m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   True      147m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     147m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-3-73.us-east-2.compute.internal     worker     rendered-worker-69e81313bdaef7b5417cdba8dbea8197   rendered-worker-1b84ba46112fc3be033e39f90efa548a   False     147m   True             False            False                      False            False     False               False          False         False          False
1.e During the MCN upgrade
oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
   ...
Status:
   Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a  
1.e After the MCN upgrade
oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
   ....
Status:
     Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
1.d Check image is applied on node
$ oc debug node/ip-10-0-5-12.us-east-2.compute.internal -- chroot /host rpm-ostree status
Starting pod/ip-10-0-5-12us-east-2computeinternal-debug-qvm86 ...
To use host binaries, run `chroot /host`
State: idle
Deployments:
* ostree-unverified-registry:image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
                  Digest: sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
                 Version: 9.6.20251013-1 (2025-10-16T12:01:01Z)

Removing debug pod ...


2.a Applied the below file based MC for OCL enabled cluster

MC Template
oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
 labels:
   machineconfiguration.openshift.io/role: worker
 name: test-file
spec:
 config:
   ignition:
     version: 3.4.0
   storage:
     files:
     - contents:
         source: data:text/plain;charset=utf-8;base64,dGVzdA==
       filesystem: root
       mode: 420
       path: /etc/test-file.test
EOF
machineconfig.machineconfiguration.openshift.io/test-file created
2.b Check new MOSB build is already succeeded
$ oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-4d97dd9a8659dc741fe8e60d70986a5f   False      False      True        False         False    1s
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    20m
2.c Monitor the MCN status
$ oc get machineconfignodes.machineconfiguration.openshift.io -o wide -w
2.d Check Image status is not updated even during or after upgrade During upgrade
$ oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
....
Status:
 Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
After Upgrade
 
$ oc describe machineconfignode ip-10-0-60-164.us-east-2.compute.internal
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
...
Status:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
 Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
2.e Applied below kernel based MC on OCL enabled cluster
MC
oc apply -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
 labels:
   machineconfiguration.openshift.io/role: "worker"
 name: 99-infra-realtime-kernel
spec:
 kernelType: "realtime"
EOF
machineconfig.machineconfiguration.openshift.io/99-infra-realtime-kernel created
2.f Check here new build is succeeded
$ oc get machineosbuild
NAME                                      PREPARED   BUILDING   SUCCEEDED   INTERRUPTED   FAILED   AGE
worker-11f91246a8d747b471c44940f4c1ebfb   False      True       False       False         False    50s
worker-4d97dd9a8659dc741fe8e60d70986a5f   False      False      True        False         False    16m
worker-65a57fcdaea942bb2589fb1a95dc8f67   False      False      True        False         False    36m
2.g During update of MCN
$ oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
 Config Version:
   Desired:  rendered-worker-60b3331ccecc8c64e8421719caa512d0
....
 Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:a979c7b74c20de35540acb8d97a8f579007d5b442dc77cb3f541a655be207a96
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
2.h After update of MCN
$ oc describe machineconfignode ip-10-0-3-73.us-east-2.compute.internal
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
 Config Version:
   Desired:  rendered-worker-60b3331ccecc8c64e8421719caa512d0
....
Status:
  Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:5fdf99d11b0278df61f46f586cbc3092b86be6e749beeb301629a2894399008f
3.a Delete the OCL
$ oc delete machineosconfig worker
machineosconfig.machineconfiguration.openshift.io "worker" deleted
3.b Check the update for MCN the desired is removed first in spec
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
...
Status:
 Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:f7cd4cacb7f65af449b719e217e2034eb00e2a3edcd17a0eb90dcc4d45a88624
3.c After upgrade
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
...
Spec:
 Config Version:
   Desired:  rendered-worker-1b84ba46112fc3be033e39f90efa548a
...
Status:
  Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-1b84ba46112fc3be033e39f90efa548a

4.a Apply the below MC

MC Template
$  oc create -f - << EOF
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineConfig
metadata:
 labels:
   machineconfiguration.openshift.io/role: worker
 name: test-file
spec:
 config:
   ignition:
     version: 3.4.0
   storage:
     files:
     - contents:
         source: data:text/plain;charset=utf-8;base64,dGVzdA==
       filesystem: root
       mode: 420
       path: /etc/test-file.test
EOF
4.b Check the MCN update
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
 Config Version:
   Desired:  rendered-worker-69e81313bdaef7b5417cdba8dbea8197
Status:
 Config Version:
   Current:            rendered-worker-1b84ba46112fc3be033e39f90efa548a
   Desired:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197
4.c After the MCN update
$ oc describe machineconfignode ip-10-0-5-12.us-east-2.compute.internal
Spec:
 Config Version:
   Desired:  rendered-worker-69e81313bdaef7b5417cdba8dbea8197
Status:
 Config Version:
  Current:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197
   Desired:            rendered-worker-69e81313bdaef7b5417cdba8dbea8197

Note: When we delete the MOSC when we have kernel based MC the MCP is getting degraded but this is not related to this PR.

/verified by @ptalgulk01

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci openshift-ci bot added the qe-approved Signifies that QE has signed off on this PR label Oct 16, 2025
@openshift-ci-robot
Copy link
Contributor

@isabella-janssen: This pull request references Jira Issue OCPBUGS-52302, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target version (4.21.0) matches configured target version for branch (4.21.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, POST)

Requesting review from QA contact:
/cc @sergiordlr

Details

In response to this:

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it
MCO-1713:

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement. See this thread for more details on the intended experience.
  • The new MCN fields should be correctly populated.
  • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
  • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  1. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process. See this thread for more details on the intended experience.
  • The new MCN fields should be correctly populated.
    • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
    • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.
Example `oc get machineconfignode` outputs for OCB enabling
$ oc get machineconfignode -w
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m
Example `oc get machineconfignode -o wide` outputs for OCB enabling
$ oc get machineconfignode -o wide -w                                                 
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   UNCORDONEDNODE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m   False            False            False                      False            False     False               False          False         False          False
Example MCN before OCB enabling
$ oc describe machineconfignode/ip-10-0-89-221.us-west-1.compute.internal
Name:         ip-10-0-89-221.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:36:18Z
 Generation:          2
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-89-221.us-west-1.compute.internal
   UID:             ca4b824a-b5c5-448c-80a4-c1f104460f5d
 Resource Version:  29761
 UID:               57d6cd1f-aaf9-4707-bd6f-9b8f9c7a03b9
Spec:
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-89-221.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdatePrepared phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdateExecuted phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdatePostActionComplete phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config . Resumed normal operations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the Drained phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  Drained
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the AppliedFilesAndOS phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the ImagePulledFromRegistry phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the Cordoned phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the RebootedNode phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Node ip-10-0-89-221.us-west-1.compute.internal Updated
   Reason:                Updated
   Status:                True
   Type:                  Updated
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the NodeDegraded phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  3
Events:                 
Example MCN during OCB enabling
```
$ oc describe machineconfignode/ip-10-0-59-172.us-west-1.compute.internal
Name:         ip-10-0-59-172.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:24:35Z
 Generation:          3
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-59-172.us-west-1.compute.internal
   UID:             0fdce8f3-b36d-4f0c-a6dd-2fe47fb4d1c8
 Resource Version:  44328
 UID:               2f93aa14-f698-427d-8d9c-fa43d4d28e2d
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-59-172.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T15:10:31Z
   Message:               Update Compatible. Post Cfg Actions: [] Drain Required: true
   Reason:                UpdatePrepared
   Status:                True
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Draining Node as part of update executed phase
   Reason:                Drained
   Status:                Unknown
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
   Reason:                None
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T14:26:12Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations. Applying proper annotations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Draining node. The drain will not be complete until desired drainer drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40 matches current drainer uncordon-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Reason:                UpdateExecutedDrained
   Status:                Unknown
   Type:                  Drained
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Applied files and new OS config to node. OS did not need an update. SSH Keys did not need an update
   Reason:                UpdateExecutedAppliedFilesAndOS
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               This node has not yet entered the ImagePulledFromRegistry phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Cordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateExecutedCordoned
   Status:                True
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               This node has not yet entered the RebootedNode phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T15:10:31Z
   Message:               Node ip-10-0-59-172.us-west-1.compute.internal needs an update
   Reason:                Updated
   Status:                False
   Type:                  Updated
   Last Transition Time:  2025-10-09T14:26:12Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:33:58Z
   Message:               Node ip-10-0-59-172.us-west-1.compute.internal upgrade succeeded
   Reason:                NodeDegraded
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  4
Events:                 
```
Example MCN after OCB enabled
```
$ oc describe machineconfignode/ip-10-0-14-86.us-west-1.compute.internal
Name:         ip-10-0-14-86.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:24:55Z
 Generation:          2
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-14-86.us-west-1.compute.internal
   UID:             53b3daf3-78c5-4850-b041-5d535bef4f85
 Resource Version:  44165
 UID:               6cd99611-35ed-4d77-92ee-d23eadbaa339
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-14-86.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T15:10:04Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Update Compatible. Post Cfg Actions: [] Drain Required: true
   Reason:                UpdatePrepared
   Status:                False
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Updated the Files and OS on disk as a part of the in progress phase
   Reason:                AppliedFilesAndOS
   Status:                False
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:34:10Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
   Reason:                None
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Reason:                UpdateExecutedDrained
   Status:                False
   Type:                  Drained
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Applied files and new OS config to node. OS did  need an update. SSH Keys did not need an update
   Reason:                UpdateExecutedAppliedFilesAndOS
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Successfully pulled OS image image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3 from registry
   Reason:                ImagePulledFromRegistry
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Cordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateExecutedCordoned
   Status:                False
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Node has rebooted
   Reason:                RebootedNode
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Node ip-10-0-14-86.us-west-1.compute.internal Updated
   Reason:                Updated
   Status:                True
   Type:                  Updated
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: UnCordoned node. The node is reporting Unschedulable = true
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:34:06Z
   Message:               Node ip-10-0-14-86.us-west-1.compute.internal upgrade succeeded
   Reason:                NodeDegraded
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T15:10:04Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  3
Events:                 
```

OCPBUGS-52302:

  1. Launch a 4.21 cluster with this PR build included. Note that it can be a tech preview cluster, but does not need to be.
launch 4.21,openshift/machine-config-operator#5282 aws
  1. Apply a MachineConfig to trigger a node update.
  2. Track how the desired configs are updated in the MCN's spec and status. The desired config value in the spec should update before the UpdatePrepared condition is True and before the desired config version is updated in the status.
    Example grep to see the necessary fields:
oc describe machineconfignode/<node-name> | grep -E "Config Version|UpdatePrepared" -A 2

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields; OCPBUGS-52302: Correct timing of desired config being set in MCN spec

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@openshift-ci-robot
Copy link
Contributor

/retest-required

Remaining retests: 0 against base HEAD b5688e7 and 2 for PR HEAD b77f1c9 in total

@isabella-janssen
Copy link
Member Author

/retest-required

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 16, 2025

@isabella-janssen: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-aws-mco-disruptive e954068 link false /test e2e-aws-mco-disruptive
ci/prow/e2e-gcp-op-ocl e954068 link false /test e2e-gcp-op-ocl
ci/prow/e2e-azure-ovn-upgrade-out-of-change e954068 link false /test e2e-azure-ovn-upgrade-out-of-change
ci/prow/bootstrap-unit 510d49a link false /test bootstrap-unit

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@isabella-janssen
Copy link
Member Author

/override ci/prow/e2e-hypershift

MCN is not a feature on Hypershift & the latest commit previously passed on this job, so it should be safe to override.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Oct 17, 2025

@isabella-janssen: Overrode contexts on behalf of isabella-janssen: ci/prow/e2e-hypershift

Details

In response to this:

/override ci/prow/e2e-hypershift

MCN is not a feature on Hypershift & the latest commit previously passed on this job, so it should be safe to override.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@openshift-merge-bot openshift-merge-bot bot merged commit b9937c1 into openshift:main Oct 17, 2025
15 checks passed
@openshift-ci-robot
Copy link
Contributor

@isabella-janssen: Jira Issue OCPBUGS-52302: All pull requests linked via external trackers have merged:

Jira Issue OCPBUGS-52302 has been moved to the MODIFIED state.

Details

In response to this:

- Authors

- What I did

  1. Version bump the API to openshift/api@2acafd4 & client-go to openshift/client-go@1bc0cb0.
$ go get github.com/openshift/api@2acafd4d1ed26c67ec29e85715ee1995ae6f1904
$ go mod tidy
$ go get github.com/openshift/client-go@1bc0cb0da03b4bf85cd730124085cb982b66d926
$ go mod tidy
$ go mod vendor
  1. Update MCN flows to add new image-mode specific fields. Note that this part of implementation was assisted by cursor.
  • Spec.ConfigImage.DesiredImage
  • Status.ConfigImage.CurrentImage
  • Status.ConfigImage.DesiredImage
  • Status.Conditions[MachineConfigNodeImagePulledFromRegistry]

- How to verify it
MCO-1713:

  1. Launch a 4.21 techpreview cluster with this PR included.
launch 4.21,openshift/machine-config-operator#5282 aws,techpreview
  1. Enable On Cluster Image Mode.
$ oc create -f - << EOF           
apiVersion: machineconfiguration.openshift.io/v1
kind: MachineOSConfig
metadata:
 name: worker
spec:
 machineConfigPool:
   name: worker
 imageBuilder:
   imageBuilderType: Job
 renderedImagePushSecret:
   name: $(oc get -n openshift-machine-config-operator sa builder -ojsonpath='{.secrets[0].name}')
 renderedImagePushSpec: "image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image:latest"
EOF
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB enablement. See this thread for more details on the intended experience.
  • The new MCN fields should be correctly populated.
  • During the OCB rollout, the desired image annotation should be set at the beginning of the node update before the current image annotation is set.
  • Once OCB is fully enabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be set appropriately.
  1. Disable On Cluster Image Mode.
oc delete machineosconfig/worker
  1. Check the MachineConfigNode resources for the nodes where image mode was enabled to ensure the conditions were properly populated.
  • The columns in the outputs for oc get machineconfignode -w and oc get machineconfignode -o wide -w should properly update during the OCB disabling process. See this thread for more details on the intended experience.
  • The new MCN fields should be correctly populated.
    • During the OCB disabling, the desired image annotation should be removed at the beginning of the node update before the current image annotation is removed.
    • Once OCB is fully disabled on a node, the node should be considered "Updated" and the desired and current image annotation values should be removed in both the MCN Spec and Status.
Example `oc get machineconfignode` outputs for OCB enabling
$ oc get machineconfignode -w
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m
Example `oc get machineconfignode -o wide` outputs for OCB enabling
$ oc get machineconfignode -o wide -w                                                 
NAME                                        POOLNAME   DESIREDCONFIG                                      CURRENTCONFIG                                      UPDATED   AGE   UPDATEPREPARED   UPDATEEXECUTED   UPDATEPOSTACTIONCOMPLETE   UPDATECOMPLETE   RESUMED   UPDATEDFILESANDOS   CORDONEDNODE   DRAINEDNODE   REBOOTEDNODE   UNCORDONEDNODE
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      30m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      18m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-14-86.us-west-1.compute.internal    worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     45m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     46m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     47m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     48m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     49m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     50m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     51m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-59-172.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      51m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   False            False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     39m   True             False            False                      False            False     False               False          False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           False         False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     40m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     41m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           Unknown       False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     False               True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     42m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             Unknown          False                      False            False     Unknown             True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          False          False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     43m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          Unknown        False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            False     True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      False            True      True                True           True          True           False
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   False     44m   True             True             False                      True             True      True                True           True          True           True
ip-10-0-89-221.us-west-1.compute.internal   worker     rendered-worker-d63c7736923b60b8b82492ae9a1eef40   rendered-worker-d63c7736923b60b8b82492ae9a1eef40   True      44m   False            False            False                      False            False     False               False          False         False          False
Example MCN before OCB enabling
$ oc describe machineconfignode/ip-10-0-89-221.us-west-1.compute.internal
Name:         ip-10-0-89-221.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:36:18Z
 Generation:          2
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-89-221.us-west-1.compute.internal
   UID:             ca4b824a-b5c5-448c-80a4-c1f104460f5d
 Resource Version:  29761
 UID:               57d6cd1f-aaf9-4707-bd6f-9b8f9c7a03b9
Spec:
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-89-221.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdatePrepared phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdateExecuted phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the UpdatePostActionComplete phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config . Resumed normal operations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the Drained phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  Drained
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the AppliedFilesAndOS phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the ImagePulledFromRegistry phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the Cordoned phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the RebootedNode phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Node ip-10-0-89-221.us-west-1.compute.internal Updated
   Reason:                Updated
   Status:                True
   Type:                  Updated
   Last Transition Time:  2025-10-09T14:37:21Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               This node has not yet entered the NodeDegraded phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T14:36:27Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  3
Events:                 
Example MCN during OCB enabling
```
$ oc describe machineconfignode/ip-10-0-59-172.us-west-1.compute.internal
Name:         ip-10-0-59-172.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:24:35Z
 Generation:          3
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-59-172.us-west-1.compute.internal
   UID:             0fdce8f3-b36d-4f0c-a6dd-2fe47fb4d1c8
 Resource Version:  44328
 UID:               2f93aa14-f698-427d-8d9c-fa43d4d28e2d
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-59-172.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T15:10:31Z
   Message:               Update Compatible. Post Cfg Actions: [] Drain Required: true
   Reason:                UpdatePrepared
   Status:                True
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Draining Node as part of update executed phase
   Reason:                Drained
   Status:                Unknown
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
   Reason:                None
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T14:26:12Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations. Applying proper annotations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Draining node. The drain will not be complete until desired drainer drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40 matches current drainer uncordon-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Reason:                UpdateExecutedDrained
   Status:                Unknown
   Type:                  Drained
   Last Transition Time:  2025-10-09T14:34:02Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Applied files and new OS config to node. OS did not need an update. SSH Keys did not need an update
   Reason:                UpdateExecutedAppliedFilesAndOS
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               This node has not yet entered the ImagePulledFromRegistry phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T15:10:36Z
   Message:               Cordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateExecutedCordoned
   Status:                True
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               This node has not yet entered the RebootedNode phase
   Reason:                NotYetOccurred
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T15:10:31Z
   Message:               Node ip-10-0-59-172.us-west-1.compute.internal needs an update
   Reason:                Updated
   Status:                False
   Type:                  Updated
   Last Transition Time:  2025-10-09T14:26:12Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: UnCordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:33:58Z
   Message:               Node ip-10-0-59-172.us-west-1.compute.internal upgrade succeeded
   Reason:                NodeDegraded
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T14:24:35Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  4
Events:                 
```
Example MCN after OCB enabled
```
$ oc describe machineconfignode/ip-10-0-14-86.us-west-1.compute.internal
Name:         ip-10-0-14-86.us-west-1.compute.internal
Namespace:    
Labels:       
Annotations:  
API Version:  machineconfiguration.openshift.io/v1
Kind:         MachineConfigNode
Metadata:
 Creation Timestamp:  2025-10-09T14:24:55Z
 Generation:          2
 Owner References:
   API Version:     v1
   Kind:            Node
   Name:            ip-10-0-14-86.us-west-1.compute.internal
   UID:             53b3daf3-78c5-4850-b041-5d535bef4f85
 Resource Version:  44165
 UID:               6cd99611-35ed-4d77-92ee-d23eadbaa339
Spec:
 Config Image:
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Desired:  rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Node:
   Name:  ip-10-0-14-86.us-west-1.compute.internal
 Pool:
   Name:  worker
Status:
 Conditions:
   Last Transition Time:  2025-10-09T15:10:04Z
   Message:               All pinned image sets complete
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsProgressing
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Update Compatible. Post Cfg Actions: [] Drain Required: true
   Reason:                UpdatePrepared
   Status:                False
   Type:                  UpdatePrepared
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Updated the Files and OS on disk as a part of the in progress phase
   Reason:                AppliedFilesAndOS
   Status:                False
   Type:                  UpdateExecuted
   Last Transition Time:  2025-10-09T14:34:10Z
   Message:               Action during update to rendered-worker-d63c7736923b60b8b82492ae9a1eef40: Changes do not require a reboot
   Reason:                None
   Status:                False
   Type:                  UpdatePostActionComplete
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Uncordoned Node as part of completing upgrade phase
   Reason:                Uncordoned
   Status:                False
   Type:                  UpdateComplete
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: In desired config rendered-worker-d63c7736923b60b8b82492ae9a1eef40. Resumed normal operations.
   Reason:                Resumed
   Status:                False
   Type:                  Resumed
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Drained node. The drain is complete as the desired drainer matches current drainer: drain-rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Reason:                UpdateExecutedDrained
   Status:                False
   Type:                  Drained
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Applied files and new OS config to node. OS did  need an update. SSH Keys did not need an update
   Reason:                UpdateExecutedAppliedFilesAndOS
   Status:                False
   Type:                  AppliedFilesAndOS
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Successfully pulled OS image image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3 from registry
   Reason:                ImagePulledFromRegistry
   Status:                False
   Type:                  ImagePulledFromRegistry
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Cordoned node. The node is reporting Unschedulable = false
   Reason:                UpdateExecutedCordoned
   Status:                False
   Type:                  Cordoned
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: Node has rebooted
   Reason:                RebootedNode
   Status:                False
   Type:                  RebootedNode
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Node ip-10-0-14-86.us-west-1.compute.internal Updated
   Reason:                Updated
   Status:                True
   Type:                  Updated
   Last Transition Time:  2025-10-09T15:10:25Z
   Message:               Action during update to image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3: UnCordoned node. The node is reporting Unschedulable = true
   Reason:                UpdateCompleteUncordoned
   Status:                False
   Type:                  Uncordoned
   Last Transition Time:  2025-10-09T14:34:06Z
   Message:               Node ip-10-0-14-86.us-west-1.compute.internal upgrade succeeded
   Reason:                NodeDegraded
   Status:                False
   Type:                  NodeDegraded
   Last Transition Time:  2025-10-09T15:10:04Z
   Message:               All is good
   Reason:                AsExpected
   Status:                False
   Type:                  PinnedImageSetsDegraded
 Config Image:
   Current Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
   Desired Image:  image-registry.openshift-image-registry.svc:5000/openshift-machine-config-operator/ocb-image@sha256:b485378fd8f7963ed74f14ce64f4f1e511e1601d49302b3046b1b78a83f539e3
 Config Version:
   Current:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
   Desired:            rendered-worker-d63c7736923b60b8b82492ae9a1eef40
 Observed Generation:  3
Events:                 
```

OCPBUGS-52302:

  1. Launch a 4.21 cluster with this PR build included. Note that it can be a tech preview cluster, but does not need to be.
launch 4.21,openshift/machine-config-operator#5282 aws
  1. Apply a MachineConfig to trigger a node update.
  2. Track how the desired configs are updated in the MCN's spec and status. The desired config value in the spec should update before the UpdatePrepared condition is True and before the desired config version is updated in the status.
    Example grep to see the necessary fields:
oc describe machineconfignode/<node-name> | grep -E "Config Version|UpdatePrepared" -A 2

- Description for the changelog
MCO-1713: Update MachineConfigNode resource to include on cluster image mode fields; OCPBUGS-52302: Correct timing of desired config being set in MCN spec

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository.

@isabella-janssen isabella-janssen deleted the mco-1713 branch October 17, 2025 12:26
@openshift-merge-robot
Copy link
Contributor

Fix included in accepted release 4.21.0-0.nightly-2025-10-18-225958

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/severity-moderate Referenced Jira bug's severity is moderate for the branch this PR is targeting. jira/valid-bug Indicates that a referenced Jira bug is valid for the branch this PR is targeting. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged. qe-approved Signifies that QE has signed off on this PR verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants