Uploaded image for project: 'OpenShift Bugs'
  1. OpenShift Bugs
  2. OCPBUGS-74638

[techpreview] authoritativeAPI :mapi machine created when machineset is authoritativeAPI capi

    • None
    • False
    • Hide

      None

      Show
      None
    • 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.

              rh-ee-nbrubake Nolan Brubaker
              rh-ee-miyadav Milind Yadav
              None
              None
              Zhaohua Sun Zhaohua Sun
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: