Uploaded image for project: 'Machine Config Operator'
  1. Machine Config Operator
  2. MCO-2126

[API] Add a spec defaultStream field

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Done
    • Icon: Critical Critical
    • None
    • None
    • None
    • 3
    • False
    • Hide

      None

      Show
      None
    • False
    • Not Selected
    • MCO Sprint 284
    • 0

      Story

      The OSImageStream CR currently only exposes defaultStream in the status subresource, where it is populated by the MCO after reading payload metadata. This assumes the MCO can always determine the correct default stream on its own.

      Following discussions in the CoreOS sync meetings, the installer needs to set the initial default stream at install-time, and users need the ability to update it later — for example, when a stream reaches End of Life. To support this, a defaultStream field must be added to the OSImageStream spec.

      The spec field acts as the desired state: the installer writes it during installation, and the MCO reads it to determine which stream from status.availableStreams to apply as the default for MachineConfigPools that do not specify a stream override.

      Acceptance Criteria

      • The OSImageStreamSpec type includes a required defaultStream field with validation consistent with the existing status counterpart.
      • The field is mutable, allowing users to update the default stream post-installation.
      • Field documentation explains that it is set by the installer and that users may need to update it when a stream reaches End of Life.
      • CRDs are regenerated and pass verification.
      • The change is pushed to the client-go repo so it can be consumed in the MCO or installer. 

              rh-ee-pabrodri Pablo Rodriguez Nava
              rh-ee-pabrodri Pablo Rodriguez Nava
              Urvashi Mohnani
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: