-
Epic
-
Resolution: Obsolete
-
Normal
-
None
-
None
-
Handling of bundle references at the veneer layer
-
False
-
False
-
To Do
-
OCPPLAN-7744 - Declarative Index Config
-
-
Undefined
-
L
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
- 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
- When bundle references got removed in the veneer layer, they need to be removed in the lower layer
- 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)
- ...
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>