Skip to content

OTA-1966: Install namespace/openshift-lightspeed only when TechPreview is enabled#1394

Open
hongkailiu wants to merge 2 commits into
openshift:mainfrom
hongkailiu:OTA-1966-c
Open

OTA-1966: Install namespace/openshift-lightspeed only when TechPreview is enabled#1394
hongkailiu wants to merge 2 commits into
openshift:mainfrom
hongkailiu:OTA-1966-c

Conversation

@hongkailiu
Copy link
Copy Markdown
Member

@hongkailiu hongkailiu commented May 26, 2026

I forgot to do this in #1382.

The feature of creating proposals is enabled only on TP clusters. The namespace is only for testing that feature. Installing it only on TP clusters is to keep the damage away from any production clusters.

The renaming of ConfigMap from ota-advisory-prompt to cluster-update-advisory-prompt is to avoid using an obsolete team name.

Summary by CodeRabbit

  • Chores

    • Added a TechPreviewNoUpgrade feature-set annotation to cluster metadata.
    • Renamed the cluster advisory prompt resource to a clearer name for update notices.
  • Documentation

    • Clarified namespace description to specify removal timeframe ("before 5.0 GA") and added guidance for clusters using the Lightspeed operator, including installing the advisory prompt when applicable.

@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label May 26, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 26, 2026

@hongkailiu: This pull request references OTA-1966 which is a valid jira issue.

Warning: The referenced jira issue has an invalid target version for the target branch this PR targets: expected the story to target the "5.0.0" version, but no target version was set.

Details

In response to this:

I forgot to do this in #1382.

The feature of creating proposals is enabled only on TP clusters. The namespace is only for testing that feature. Installing it only on TP clusters is to keep the damage out of any production clusters.

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.

@openshift-ci openshift-ci Bot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 26, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 26, 2026

Skipping CI for Draft Pull Request.
If you want CI signal for your change, please convert it to an actual PR.
You can still manually trigger a test run with /test all

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented May 26, 2026

Note

Reviews paused

It 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 reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

The OpenShift Lightspeed namespace manifest updates its annotations (adds release.openshift.io/feature-set: TechPreviewNoUpgrade and revises removal/install wording). A ConfigMap metadata.name was renamed from ota-advisory-prompt to cluster-update-advisory-prompt, and the controller default config now references the new ConfigMap name.

Changes

Lightspeed install manifests and controller

Layer / File(s) Summary
TechPreview namespace annotations
install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml
The kubernetes.io/description annotation text is replaced to reference removal before 5.0 GA or when landing the manifest while the operator is installed by OLM. release.openshift.io/feature-set: TechPreviewNoUpgrade is added under metadata.annotations.
ConfigMap metadata.name rename, controller default, and test update
install/0000_00_cluster-version-operator_50_lightspeed-prompts.yaml, pkg/proposal/controller.go, pkg/proposal/controller_test.go
The ConfigMap metadata.name was changed from ota-advisory-prompt to cluster-update-advisory-prompt. DefaultConfig() now uses the new value for LIGHTSPEED_PROMPT_CONFIGMAP. The controller test's fake ConfigMap getter now returns the ConfigMap only for the expected namespace/name.

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 10 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Test Structure And Quality ❓ Inconclusive Custom check specifies "Ginkgo test code" (It blocks, BeforeEach/AfterEach). The PR modifies a standard Go testing.T table-driven test, not Ginkgo. Check is ambiguous about applicability. Clarify whether the check applies only to Ginkgo tests or to all Go test patterns including standard testing.T used in this PR's controller_test.go.
✅ Passed checks (10 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title describes adding TechPreview gating to the namespace installation, but the changeset involves renaming a ConfigMap (ota-advisory-prompt → cluster-update-advisory-prompt) and updating namespace annotations, which are only partially reflected in the title.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Stable And Deterministic Test Names ✅ Passed The check applies to Ginkgo test names (It, Describe, Context, When). The modified test file uses standard Go testing.T framework only, with no Ginkgo tests present, making the check inapplicable.
Microshift Test Compatibility ✅ Passed This PR adds no new Ginkgo e2e tests. Changes include only YAML manifests, Go controller library code, and updates to existing unit tests using testing.T framework, not Ginkgo.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo e2e tests added. Changes are YAML manifests, unit tests, and controller code only. The check is not applicable to this PR.
Topology-Aware Scheduling Compatibility ✅ Passed PR updates ConfigMap name and default config values only. No scheduling constraints, pod affinity, topology spread constraints, or replica count logic introduced.
Ote Binary Stdout Contract ✅ Passed PR changes YAML manifests and updates ConfigMap name in regular function DefaultConfig(); no process-level stdout writes that violate the OTE Binary Stdout Contract are introduced.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo e2e tests are added in this PR; changes are limited to YAML manifests, controller configuration, and Go unit tests (not e2e tests). Custom check is not applicable.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands and usage tips.

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 26, 2026
@hongkailiu hongkailiu force-pushed the OTA-1966-c branch 2 times, most recently from 1e07189 to 4080e53 Compare May 26, 2026 22:23
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml`:
- Line 6: Update the kubernetes.io/description annotation in the
openshift-lightspeed Namespace manifest to replace the stale ConfigMap name
"ota-advisory-prompt" with the new name "cluster-update-advisory-prompt" (edit
the string in the description text in
install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml),
ensuring the annotation still explains the resource purpose per guidelines.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: 1d13af9b-cb76-470f-b4e6-3c1b2c98e4b1

📥 Commits

Reviewing files that changed from the base of the PR and between 7a87cb6 and 1e07189.

📒 Files selected for processing (2)
  • install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml
  • install/0000_00_cluster-version-operator_50_lightspeed-prompts.yaml

Comment thread install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml Outdated
I forgot to do this in openshift#1382.

The feature of creating proposals is [enabled only on TP clusters](https://github.com/openshift/cluster-version-operator/blob/fa129da3b3cba865873715ec88a0fafde98f6585/pkg/cvo/cvo.go#L1215-L1219).
The namespace is only for testing that feature. Installing it only on TP clusters is to keep the damage away from any production clusters.

The renaming of ConfigMap from `ota-advisory-prompt` to `cluster-update-advisory-prompt` is to avoid using an obsolete team name.
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@install/0000_00_cluster-version-operator_50_lightspeed-prompts.yaml`:
- Line 5: The ConfigMap name in the manifest was changed to
cluster-update-advisory-prompt but the controller still defaults PromptConfigMap
to ota-advisory-prompt, causing runtime lookup failures; update the controller's
default PromptConfigMap constant/field (named PromptConfigMap) or the
environment default it reads so it matches cluster-update-advisory-prompt (or
alternatively revert the manifest name to ota-advisory-prompt), and ensure any
places that construct/load the prompt (the code paths that reference
PromptConfigMap) and any environment variable references are updated to use the
same ConfigMap name.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Repository YAML (base), Central YAML (inherited)

Review profile: CHILL

Plan: Enterprise

Run ID: f78b3442-52ad-469a-95a8-43180916bdba

📥 Commits

Reviewing files that changed from the base of the PR and between 1e07189 and 4080e53.

📒 Files selected for processing (2)
  • install/0000_00_cluster-version-operator_45_openshift-lightspeed_namespace.yaml
  • install/0000_00_cluster-version-operator_50_lightspeed-prompts.yaml

Comment thread install/0000_00_cluster-version-operator_50_lightspeed-prompts.yaml
Copy link
Copy Markdown
Member

@wking wking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 26, 2026
@openshift-ci openshift-ci Bot removed the lgtm Indicates that a PR is ready to be merged. label May 26, 2026
@hongkailiu hongkailiu marked this pull request as ready for review May 26, 2026 22:50
@openshift-ci openshift-ci Bot removed the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label May 26, 2026
Copy link
Copy Markdown
Member

@wking wking left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label May 26, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 26, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: hongkailiu, wking

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@hongkailiu
Copy link
Copy Markdown
Member Author

/label acknowledge-critical-fixes-only

@openshift-ci openshift-ci Bot added the acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. label May 26, 2026
@hongkailiu
Copy link
Copy Markdown
Member Author

/test e2e-agnostic-ovn-upgrade-out-of-change

@hongkailiu
Copy link
Copy Markdown
Member Author

/retest-required

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 27, 2026

@hongkailiu: all tests passed!

Full PR test history. Your PR dashboard.

Details

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 kubernetes-sigs/prow repository. I understand the commands that are listed here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

acknowledge-critical-fixes-only Indicates if the issuer of the label is OK with the policy. approved Indicates a PR has been approved by an approver from all required OWNERS files. jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants