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

CAPI Operator churning status

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • None
    • None
    • None
    • CLOUD Sprint 273
    • 1
    • Done
    • Bug Fix
    • Hide
      * Before this update, the {cluster-capi-operator} status controller used an unsorted list of related objects, leading to status updates when there were no functional changes.
      As a consequence, users would see significant noise in the {cluster-capi-operator} object and in logs due to continuous and unnecessary status updates.
      With this release, the status controller logic is updated to sort the list of related objects before comparing them for changes.
      As a result, a status update only occurs when there is a change to the Operator's state.
      (link:https://issues.redhat.com/browse/OCPBUGS-56805[OCPBUGS-56805], link:https://issues.redhat.com/browse/OCPBUGS-58880[OCPBUGS-58880])
      Show
      * Before this update, the {cluster-capi-operator} status controller used an unsorted list of related objects, leading to status updates when there were no functional changes. As a consequence, users would see significant noise in the {cluster-capi-operator} object and in logs due to continuous and unnecessary status updates. With this release, the status controller logic is updated to sort the list of related objects before comparing them for changes. As a result, a status update only occurs when there is a change to the Operator's state. (link: https://issues.redhat.com/browse/OCPBUGS-56805 [ OCPBUGS-56805 ], link: https://issues.redhat.com/browse/OCPBUGS-58880 [ OCPBUGS-58880 ])
    • None
    • None
    • None
    • None

      While watching clusteroperators `oc get co -w` 

      We see cluster-api updating frequently, it looks like maybe it's not sorting status consistently? These two resources were captured seconds apart.

      ~ oc get co -w
      NAME                                       VERSION       AVAILABLE   PROGRESSING   DEGRADED   SINCE   MESSAGE
      authentication                             4.20.0-ec.3   True        False         False      18h     
      baremetal                                  4.20.0-ec.3   True        False         False      19h     
      cloud-controller-manager                   4.20.0-ec.3   True        False         False      19h     
      cloud-credential                           4.20.0-ec.3   True        False         False      19h     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-autoscaler                         4.20.0-ec.3   True        False         False      19h     
      config-operator                            4.20.0-ec.3   True        False         False      19h     
      console                                    4.20.0-ec.3   True        False         False      18h     
      control-plane-machine-set                  4.20.0-ec.3   True        False         False      18h     
      csi-snapshot-controller                    4.20.0-ec.3   True        False         False      19h     
      dns                                        4.20.0-ec.3   True        False         False      19h     
      etcd                                       4.20.0-ec.3   True        False         False      18h     
      image-registry                             4.20.0-ec.3   True        False         False      18h     
      ingress                                    4.20.0-ec.3   True        False         False      20m     
      insights                                   4.20.0-ec.3   True        False         False      19h     
      kube-apiserver                             4.20.0-ec.3   True        True          False      18h     NodeInstallerProgressing: 2 nodes are at revision 11; 1 node is at revision 12
      kube-controller-manager                    4.20.0-ec.3   True        False         False      18h     
      kube-scheduler                             4.20.0-ec.3   True        False         False      18h     
      kube-storage-version-migrator              4.20.0-ec.3   True        False         False      21m     
      machine-api                                4.20.0-ec.3   True        False         False      18h     
      machine-approver                           4.20.0-ec.3   True        False         False      19h     
      machine-config                             4.20.0-ec.3   True        False         False      19h     
      marketplace                                4.20.0-ec.3   True        False         False      19h     
      monitoring                                 4.20.0-ec.3   True        False         False      18h     
      network                                    4.20.0-ec.3   True        False         False      19h     
      node-tuning                                4.20.0-ec.3   True        False         False      15h     
      olm                                        4.20.0-ec.3   True        False         False      13m     
      openshift-apiserver                        4.20.0-ec.3   True        False         False      18h     
      openshift-controller-manager               4.20.0-ec.3   True        False         False      18h     
      openshift-samples                          4.20.0-ec.3   True        False         False      18h     
      operator-lifecycle-manager                 4.20.0-ec.3   True        False         False      19h     
      operator-lifecycle-manager-catalog         4.20.0-ec.3   True        False         False      19h     
      operator-lifecycle-manager-packageserver   4.20.0-ec.3   True        False         False      8m47s   
      service-ca                                 4.20.0-ec.3   True        False         False      19h     
      storage                                    4.20.0-ec.3   True        False         False      19h     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      cluster-api                                4.20.0-ec.3   True        False         False      23m     
      
      ~ oc get co/cluster-api -o yaml > 1.yaml
      ~ oc get co/cluster-api -o yaml > 2.yaml
      ~ diff -uw 1.yaml 2.yaml 
      --- 1.yaml    2025-07-08 10:39:51.876042157 -0400
      +++ 2.yaml    2025-07-08 10:39:54.477097087 -0400
      @@ -15,7 +15,7 @@
           kind: ClusterVersion
           name: version
           uid: 7e4fcf5b-bd61-43d9-ab63-06b0ab92a714
      -  resourceVersion: "359618"
      +  resourceVersion: "359718"
         uid: 8e8098b7-923e-4f48-9a3f-34ac12671eb2
       spec: {}
       status:
      @@ -105,35 +105,35 @@
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsclusterstaticidentity
      +    resource: awsmachinetemplate
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsmanagedcluster
      +    resource: awsclusterstaticidentity
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsclustertemplate
      +    resource: awsmanagedcluster
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsmachinetemplate
      +    resource: awsclustertemplate
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsmachine
      +    resource: awsclusterroleidentity
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsclustercontrolleridentity
      +    resource: awscluster
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awsclusterroleidentity
      +    resource: awsmachine
         - group: infrastructure.cluster.x-k8s.io
           name: ""
           namespace: openshift-cluster-api
      -    resource: awscluster
      +    resource: awsclustercontrolleridentity
         versions:
         - name: operator
           version: 4.20.0-ec.3 

      100 resource versions between them, though of course not all of those should be assumed to be clusteroperator/cluster-api.

              ddonati@redhat.com Damiano Donati
              rhn-support-sdodson Scott Dodson
              None
              None
              Zhaohua Sun Zhaohua Sun
              None
              Votes:
              0 Vote for this issue
              Watchers:
              8 Start watching this issue

                Created:
                Updated: