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

[Dev] OSImageStream loading and integration from Release ImageStream PoC

XMLWordPrintable

    • Icon: Spike Spike
    • Resolution: Unresolved
    • Icon: Undefined Undefined
    • None
    • None
    • None
    • MCO Sprint 280, MCO Sprint 281
    • 0

       Description
        Validate feasibility of introducing OSImageStream to MCO, enabling per-pool OS image stream selection from release metadata.

      Outcome

      Stream Extraction from Release Image

      • Successfully extracts ImageStream from /release-manifests/image-references in release image layers
      • Parses image labels (io.coreos.oscontainerimage.osstream) to identify stream associations
      • Groups OS/Extensions images by stream name
      • Implementation: pkg/controller/osimagestream/imagestream_provider.go, imagestream_osimages.go

      Multiple Source Support

      • Three sources with precedence: CLI args → ImageStream → ConfigMap
      • StreamSource interface allows composition and merging
      • Maintains backward compatibility with existing machine-config-osimageurl ConfigMap
      • Implementation: pkg/controller/osimagestream/osimagestream.go

      API Design

      • v1alpha1 singleton OSImageStream resource (name: "cluster")
      • Status-driven: operator populates available streams, users select via MachineConfigPool
      • Feature-gated behind OSStreams
      • Added spec.osImageStream field to MachineConfigPool

      PR: https://github.com/openshift/machine-config-operator/pull/5381

       

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

                Created:
                Updated: