Uploaded image for project: 'Operator Runtime'
  1. Operator Runtime
  2. OPRUN-2276

Avoid conflicts and performance problems with bundle references in the veneer layer (File based config/declarative config)

    XMLWordPrintable

Details

    • Epic
    • Resolution: Obsolete
    • Normal
    • None
    • None
    • Handling of bundle references at the veneer layer
    • False
    • False
    • To Do
    • OCPPLAN-7744 - Declarative Index Config
    • OCPPLAN-7744Declarative Index Config
    • 0
    • 0% 0%
    • Undefined
    • L
    • 0

    Description

      Epic Goal

      • Avoid discrepancies and subtle runtime failures by resolving conflicts / define order of precedence between bundle content references in user-facing declarative catalog files (veneer) and the resulting declarative catalog files the resolver requires (if we follow OLM-2211)
      • Enable fast rebuilds of a catalog by avoid pulling down all references bundle images again to form the resolver-friendly version of the declarative config file

      Why is this important?

      • It's possible for catalogs to become out of sync with the veneer layer if we allow modifications to both the veneer layer and the resulting resolver-friendly version
      • rebuilding the catalog could become prohibitively resource intensive if potentially hundreds of bundle references are involved which all need to be downloaded again

      Terminology:

      • veneer layer = user-facing version of the declarative config, reduced to keep it human and git-friendly
      • lower layer = resolver-friendly version of the veneer layer with inlined bundle content, likely an order of magnitude larger than the veneer layer for long update histories

      Scenarios

      1. When rendering the lower layer there is optimization built into opm to only download new bundle images that aren't referenced in an existing version of the lower layer
      2. When bundle references got removed in the veneer layer, they need to be removed in the lower layer
      3. When bundle references changed in the veneer layer, they need to be changed in the lower layer

      Acceptance Criteria

      • CI - MUST be running successfully with tests automated
      • Release Technical Enablement - Provide necessary release enablement details and documents.
      • ...

      Dependencies (internal and external)

      1. ...

      Previous Work (Optional):

      Open questions::

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • Release Enablement <link to Feature Enablement Presentation>
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      • DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      • DEV - Downstream build attached to advisory: <link to errata>
      • QE - Test plans in Polarion: <link or reference to Polarion>
      • QE - Automated tests merged: <link or reference to automated tests>
      • DOC - Downstream documentation merged: <link to meaningful PR>

      Attachments

        Activity

          People

            jlanford@redhat.com Joe Lanford
            DanielMesser Daniel Messer
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: