-
Bug
-
Resolution: Unresolved
-
Normal
-
None
-
4.21
-
None
-
None
-
False
-
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Description of problem:
possible race condition happens due to editing machineset in one go - authoritativeAPI: ClusterAPI and replicas increased from 1 -> 2
Version-Release number of selected component (if applicable):
4.21.0-0.nightly-2026-01-22-192129
How reproducible:
Always
Steps to Reproduce:
miyadav@miyadav-mac ~ % oc project openshift-machine-api Now using project "openshift-machine-api" on server "https://api.miyadav-2901v1.qe.devcluster.openshift.com:6443". miyadav@miyadav-mac ~ % oc get machineset.m NAME DESIRED CURRENT READY AVAILABLE AGE miyadav-2901v1-hc4l6-worker-us-east-2a 1 1 1 1 44m miyadav-2901v1-hc4l6-worker-us-east-2b 1 1 1 1 44m miyadav-2901v1-hc4l6-worker-us-east-2c 1 1 1 1 44m miyadav@miyadav-mac ~ % oc edit machineset.m miyadav-2901v1-hc4l6-worker-us-east-2a machineset.machine.openshift.io/miyadav-2901v1-hc4l6-worker-us-east-2a edited miyadav@miyadav-mac ~ % oc get machines.m NAME PHASE TYPE REGION ZONE AGE miyadav-2901v1-hc4l6-master-0 Running m6i.xlarge us-east-2 us-east-2a 45m miyadav-2901v1-hc4l6-master-1 Running m6i.xlarge us-east-2 us-east-2b 45m miyadav-2901v1-hc4l6-master-2 Running m6i.xlarge us-east-2 us-east-2c 45m miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 Provisioning m6i.xlarge us-east-2 us-east-2a 6s miyadav-2901v1-hc4l6-worker-us-east-2a-mrcvc Running m6i.xlarge us-east-2 us-east-2a 41m miyadav-2901v1-hc4l6-worker-us-east-2b-kxrxx Running m6i.xlarge us-east-2 us-east-2b 41m miyadav-2901v1-hc4l6-worker-us-east-2c-t9zhk Running m6i.xlarge us-east-2 us-east-2c 41m miyadav@miyadav-mac ~ % oc get machines.c -n openshift-cluster-api NAME CLUSTER NODE NAME READY AVAILABLE UP-TO-DATE PHASE AGE VERSION miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 miyadav-2901v1-hc4l6 False False Provisioning 18s miyadav-2901v1-hc4l6-worker-us-east-2a-mrcvc miyadav-2901v1-hc4l6 ip-10-0-10-92.us-east-2.compute.internal True True Running 15m miyadav-2901v1-hc4l6-worker-us-east-2b-kxrxx miyadav-2901v1-hc4l6 ip-10-0-56-97.us-east-2.compute.internal True True Running 15m miyadav-2901v1-hc4l6-worker-us-east-2c-t9zhk miyadav-2901v1-hc4l6 ip-10-0-79-120.us-east-2.compute.internal True True Running 15m miyadav@miyadav-mac ~ % oc get machines.m miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 -o yaml | less miyadav@miyadav-mac ~ % oc get machines.c miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 -n openshift-cluster-api NAME CLUSTER NODE NAME READY AVAILABLE UP-TO-DATE PHASE AGE VERSION miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 miyadav-2901v1-hc4l6 ip-10-0-12-103.us-east-2.compute.internal True True Running 19m miyadav@miyadav-mac ~ % oc get machines.m miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 -n openshift-machine-api NAME PHASE TYPE REGION ZONE AGE miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 Running m6i.xlarge us-east-2 us-east-2a 19m miyadav@miyadav-mac ~ % oc get machines.m miyadav-2901v1-hc4l6-worker-us-east-2a-68rx6 -o yaml -n openshift-machine-api | grep -i authoritativeAPI authoritativeAPI: MachineAPI authoritativeAPI: MachineAPI message: The AuthoritativeAPI status is set to 'MachineAPI' reason: AuthoritativeAPIMachineAPI miyadav@miyadav-mac ~ % oc get clusterversion NAME VERSION AVAILABLE PROGRESSING SINCE STATUS version 4.21.0-0.nightly-2026-01-22-192129 True False 32m Cluster version is 4.21.0-0.nightly-2026-01-22-192129
Actual results:
authoritativeAPI for machine.m is machineAPI
Expected results:
authoritativeAPI should be ClusterAPI
Additional info:
This works well as logical update step is first authoritativeAPI changed to ClusterAPI and then scale up using the machineset.c and not machineset.m which will be paused and not let replicas to be updated , but when done in one go , it causes race condition which was discussed in last stand up. We decided to update doc for it.