CONSOLE-5271: Gate lifecycle metadata on server-side OLM lifecycle flag#16668
CONSOLE-5271: Gate lifecycle metadata on server-side OLM lifecycle flag#16668perdasilva wants to merge 2 commits into
Conversation
|
@perdasilva: This pull request references CONSOLE-5271 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the openshift-eng/jira-lifecycle-plugin repository. |
|
Note Reviews pausedIt looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughAdds a new ChangesOLM Lifecycle Metadata Flag Pipeline
Estimated code review effort: 2 (Simple) | ~10 minutes Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 11❌ Failed checks (1 warning, 10 inconclusive)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
23500fb to
553fdaa
Compare
553fdaa to
6c9e8a3
Compare
5b0213f to
21eab53
Compare
|
/retest |
|
Docs Approver: PX Approver: |
|
/label px-approved |
jseseCCS
left a comment
There was a problem hiding this comment.
conditionally approving in good faith that you'll review all my comments and apply as appropriate. 😺
| fNodeOperatingSystems := fs.String("node-operating-systems", "", "List of node operating systems. Example --node-operating-system=linux,windows") | ||
| fCopiedCSVsDisabled := fs.Bool("copied-csvs-disabled", false, "Flag to indicate if OLM copied CSVs are disabled.") | ||
| fTechPreview := fs.Bool("tech-preview", false, "Enable console Technology Preview features.") | ||
| fOLMLifecycleMetadata := fs.Bool("olm-lifecycle-metadata", false, "Enable OLM operator lifecycle and compatibility features.") |
There was a problem hiding this comment.
since "OLM" stands for Operator Lifecycle Manager, "Operator" should be capitalized here to correctly reflect proper noun of component.
-->
"Enable OLM Operator lifecycle and compatibility features."
| expectedError: nil, | ||
| }, | ||
| { | ||
| name: "Should apply OLM lifecycle metadata enabled", |
There was a problem hiding this comment.
--> direct, definitive, active -->
name: "Applies OLM lifecycle metadata when enabled",
?
|
/label docs-approved |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jseseCCS, perdasilva, TheRealJon The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/hold to address docs review comments |
21eab53 to
7cf33bd
Compare
|
New changes are detected. LGTM label has been removed. |
Replace the frontend FeatureGate CRD watch with a server-side flag so that operator lifecycle metadata columns (cluster compatibility, support phase) on the Installed Operators page are controlled by the console operator configuration rather than requiring frontend RBAC to read the FeatureGate resource. - Add --olm-lifecycle bridge flag and OLMLifecycleEnabled config field - Pass olmLifecycle through SERVER_FLAGS to the frontend - Simplify detectLifecycleMetadata to read the server flag directly - Remove FeatureGateModel (no longer needed in frontend) - Add backend config test for the new flag Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Rename all occurrences of the OLM lifecycle config field, CLI flag, and SERVER_FLAGS property to include "Metadata" for consistency with the feature name (operator lifecycle metadata). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: Per G. da Silva <pegoncal@redhat.com>
7cf33bd to
5dca906
Compare
|
/retest |
|
@perdasilva: The following test failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
Analysis / Root cause:
The operator lifecycle metadata UI (cluster compatibility and support phase columns on the Installed Operators page) was gated on the console's
--tech-previewserver flag (window.SERVER_FLAGS.techPreview). This couples the feature to the console's tech-preview mode rather than the cluster-level FeatureGate that controls the OLM lifecycle service itself. The frontend cannot read theFeatureGateresource directly because not all users have RBAC for it, so the gating must be done server-side via the console-operator.Solution description:
--olm-lifecyclebridge flag andOLMLifecycleEnabledconfig field toClusterInfoolmLifecyclethroughSERVER_FLAGSto the frontend viajsGlobalsdetectLifecycleMetadatato readwindow.SERVER_FLAGS.olmLifecycleinstead oftechPreviewFeatureGateModel(no longer needed — gating is handled server-side)Screenshots / screen recording:
Test setup:
Requires the companion console-operator PR (openshift/console-operator#1174) to set
olmLifecycleEnabledbased on theOLMLifecycleAndCompatibilitycluster FeatureGate.Test cases:
--olm-lifecycleis set to true--tech-previewis setBrowser conformance:
Additional info:
Companion PR: openshift/console-operator#1174 (sets
olmLifecycleEnabledin the ConsoleConfig based on the cluster FeatureGate).Depends on #16655 and #16551.
Reviewers and assignees:
/assign @perdasilva
Summary by CodeRabbit
--olm-lifecycle-metadataCLI flag (defaultfalse) to control whether Operator Lifecycle Manager lifecycle metadata is exposed to the frontend.olmLifecycleMetadataEnabledto enable this behavior and set the new flag accordingly.