-
Epic
-
Resolution: Unresolved
-
Major
-
None
-
None
-
console-catalog-controllers
-
Product / Portfolio Work
-
-
50% To Do, 0% In Progress, 50% Done
-
False
-
-
False
-
Not Selected
-
None
-
None
-
9
Epic Goal
- create controllers in openshift/console to enable console component to deploy on-cluster resources which listen for ClusterCatalog changes and retrieve the catalog information from catalogd.
Why is this important?
- console OLMv1 POCs have demonstrated a need for better performance access to ClusterCatalog contents. The default 'all' API endpoint incurs both size/time burdens, the 'metas' API endpoint doesn't obviate console's need to essentially still perform an 'all' API endpoint access before it can display initial pages, and attempts to move front-end business logic to the back-end didn't fit the intents of the console team.
Scenarios
- a general-purpose top-level controller suitable for management by Cluster Version Operator (CVO) as a second-level operator, which instantiates desired sub-controllers (third-level operators) as desired in future; and
- a task-specific controller responsible for watching ClusterCatalog resources and retrieving catalog contents via the catalogd 'all' API endpoint and saving to local cache when informed new content is available, deployed by the general-purpose controller
A good example of similar operators (and relationships) is cluster-olm-operator and operator-framework-catalogd.
Acceptance Criteria
- CI - MUST be running successfully with tests automated
- GP controller runs in clusters
- GP controller deploys ClusterCatalog-watching (CC) controller
- CC controller is informed of ClusterCatalog content changes
- CC controller downloads ClusterCatalog updated content to local cache via the catalogd 'all' service endpoint.
Dependencies (internal and external)
- ...
Previous Work (Optional):
- …
Open questions::
- Additional business logic will be added in future to manipulate the catalog FBC as necessary to enable new console v1 functionality.
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>
OCP/Telco Definition of Done
Epic Template descriptions and documentation.
<--- Cut-n-Paste the entire contents of this description into your new Epic --->