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

MachineSet annotation controller should respect status.authoritativeAPI

XMLWordPrintable

    • Quality / Stability / Reliability
    • False
    • Hide

      None

      Show
      None
    • None
    • None
    • No
    • None
    • CLOUD Sprint 272, CLOUD Sprint 273
    • 2
    • Done
    • Bug Fix
    • Hide
      * Before this update, the controller that annotates a Machine API compute machine set did not check whether the Machine API was authoritative before adding scale-from-zero annotations.
      As a consequence, the controller repeatedly added these annotations and caused a loop of continuous changes to the `MachineSet` object.
      With this release, the controller checks the value of the `authoritativeAPI` field before adding scale-from-zero annotations.
      As a result, the controller avoids the looping behavior by only adding these annotations to a Machine API compute machine set when the Machine API is authoritative.
      (link:https://issues.redhat.com/browse/OCPBUGS-57581[OCPBUGS-57581])
      Show
      * Before this update, the controller that annotates a Machine API compute machine set did not check whether the Machine API was authoritative before adding scale-from-zero annotations. As a consequence, the controller repeatedly added these annotations and caused a loop of continuous changes to the `MachineSet` object. With this release, the controller checks the value of the `authoritativeAPI` field before adding scale-from-zero annotations. As a result, the controller avoids the looping behavior by only adding these annotations to a Machine API compute machine set when the Machine API is authoritative. (link: https://issues.redhat.com/browse/OCPBUGS-57581 [ OCPBUGS-57581 ])
    • None
    • None
    • None
    • None

      Description of problem:

      The MachineSet controller deputed to add the scale from zero annotations should only do so if the authoritativeAPI is set to a value is set to MachineAPI.
      
      This extra check is needed because in early stages of reconciliation of a new MAPI MachineSet the Paused condition might not yet be set, as such the authority status needs to be checked directly to ensure correct behaviour.

      Version-Release number of selected component (if applicable):

          

      How reproducible:

      This is a race that can happen, so hard to reproduce reliably

      Steps to Reproduce:

      See this thread: https://redhat-internal.slack.com/archives/GE2HQ9QP4/p1750163453628329

      Actual results:

      controller adds scale from zero annotations even if .status.authoritativeAPI is not set to MachineAPI (empty, migrating, clusterapi)

      Expected results:

      controller should never add scale from zero annotations unless .status.authoritativeAPI is explicitly set to MachineAPI    

      Additional info:

          

              ddonati@redhat.com Damiano Donati
              ddonati@redhat.com Damiano Donati
              None
              None
              Huali Liu Huali Liu
              None
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

                Created:
                Updated: