Skip to content

no-jira: dynamically set CVO upgrade version#10655

Open
patrickdillon wants to merge 1 commit into
openshift:mainfrom
patrickdillon:cvo-version
Open

no-jira: dynamically set CVO upgrade version#10655
patrickdillon wants to merge 1 commit into
openshift:mainfrom
patrickdillon:cvo-version

Conversation

@patrickdillon

@patrickdillon patrickdillon commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

Utilize version info from build & git tags so that we no longer need to manually update the hardcoded version in the CVO upgrade manifest.

For CI & local development, we will need to make sure git tags are updated after branching.

Summary by CodeRabbit

  • New Features

    • The installer now automatically sets the release channel based on the detected OpenShift version for SCOS-based environments.
    • Channel selection is no longer fixed to a single version, improving compatibility across supported releases.
  • Bug Fixes

    • Updated cluster version configuration to avoid using a hardcoded channel value in SCOS scenarios.

Utilize version info from build & git tags so that we no longer need
to manually update the hardcoded version in the CVO upgrade manifest.

For CI & local development, we will need to make sure git tags are
updated after branching.
@openshift-ci-robot openshift-ci-robot added the jira/valid-reference Indicates that this PR references a valid Jira ticket of any type. label Jun 24, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@patrickdillon: This pull request explicitly references no jira issue.

Details

In response to this:

Utilize version info from build & git tags so that we no longer need to manually update the hardcoded version in the CVO upgrade manifest.

For CI & local development, we will need to make sure git tags are updated after branching.

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.

@coderabbitai

coderabbitai Bot commented Jun 24, 2026

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 85c6230c-576c-4682-abfe-37fbdb25aaf8

📥 Commits

Reviewing files that changed from the base of the PR and between 5004911 and f2fdb5e.

📒 Files selected for processing (3)
  • data/data/manifests/bootkube/cvo-overrides.yaml.template
  • pkg/asset/manifests/operators.go
  • pkg/asset/manifests/template.go

📝 Walkthrough

Walkthrough

The bootkube manifest rendering path now derives a CVOChannel from version information, stores it in bootkubeTemplateData, and uses it to render the SCOS ClusterVersion spec.channel instead of a hardcoded value.

Changes

CVO channel templating

Layer / File(s) Summary
Template data and channel derivation
pkg/asset/manifests/template.go, pkg/asset/manifests/operators.go
bootkubeTemplateData gains a CVOChannel field, and generateBootKubeManifests computes and assigns a stable-major.minor channel from versioninfo.GetInfo().
SCOS channel rendering
data/data/manifests/bootkube/cvo-overrides.yaml.template
The .IsSCOS branch now renders spec.channel from {{.CVOChannel}} instead of the previous hardcoded value.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

🚥 Pre-merge checks | ✅ 15
✅ Passed checks (15 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main change: making the CVO upgrade version dynamic instead of hardcoded.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
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 PR only changes a manifest template and two manifest Go files; none add or edit Ginkgo tests or test titles.
Test Structure And Quality ✅ Passed No Ginkgo tests were added or modified; the PR only changes manifest/template code, so the test-structure checklist is not applicable.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests were added; the PR only changes manifest/template code, so MicroShift test compatibility is not implicated.
Single Node Openshift (Sno) Test Compatibility ✅ Passed No new Ginkgo tests were added; the PR only changes manifest/template generation code, and the affected files contain no It/Describe/Context blocks.
Topology-Aware Scheduling Compatibility ✅ Passed The PR only derives the CVO channel from version info and updates a ClusterVersion manifest; no replicas, affinity, node selectors, or topology-sensitive scheduling logic changed.
Ote Binary Stdout Contract ✅ Passed The PR only updates manifest templating/data; no main/init/setup code or stdout-printing APIs were added, and the new version lookup uses logrus, not stdout.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo/e2e test code was added; only manifest/template files changed, and no It/Describe/Context/When or IPv4-only patterns were found.
No-Weak-Crypto ✅ Passed No weak crypto added: touched files only change CVO channel templating/version wiring; targeted scan found no MD5/SHA1/DES/RC4/ECB or secret comparisons.
Container-Privileges ✅ Passed The PR only changes CVO channel templating; no privileged/hostPID/hostNetwork/hostIPC/allowPrivilegeEscalation/SYS_ADMIN/root settings appear in touched manifests.
No-Sensitive-Data-In-Logs ✅ Passed No new logging was added; the touched lines only add CVOChannel plumbing, and no passwords/tokens/PII are logged.

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

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

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 golangci-lint (2.12.2)

Error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions
The command is terminated due to an error: can't load config: unsupported version of the configuration: "" See https://golangci-lint.run/docs/product/migration-guide for migration instructions


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

@openshift-ci openshift-ci Bot requested review from rwsu and sadasu June 24, 2026 19:37

@wking wking left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

/lgtm

Doesn't really matter how this plays in CI releases (because there are no updates recommended between CI releases by any known update service), but we should check nightlies post-merge to ensure it's working properly there before this gets baked into Engineering Candidates.

@openshift-ci openshift-ci Bot added the lgtm Indicates that a PR is ready to be merged. label Jun 24, 2026
@sadasu

sadasu commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

/approve

@openshift-ci

openshift-ci Bot commented Jun 24, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: sadasu, 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

@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 24, 2026
@tthvo

tthvo commented Jun 25, 2026

Copy link
Copy Markdown
Member

/test e2e-aws-ovn

@wking

wking commented Jun 25, 2026

Copy link
Copy Markdown
Member

Neither CPU Partitioning node validation should have correct cpuset and cpushare set in crio containers nor oc idle ... by checking previous scale are related to this change. I'd recommend an /override ci/prow/e2e-aws-ovn, but I'm not a root approver.

@tthvo

tthvo commented Jun 25, 2026

Copy link
Copy Markdown
Member

/override ci/prow/e2e-aws-ovn

It may go back to retest but that's even better :D

@openshift-ci

openshift-ci Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

@tthvo: Overrode contexts on behalf of tthvo: ci/prow/e2e-aws-ovn

Details

In response to this:

/override ci/prow/e2e-aws-ovn

It may go back to retest but that's even better :D

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.

@openshift-ci

openshift-ci Bot commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

@patrickdillon: 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.

@tthvo

tthvo commented Jun 25, 2026

Copy link
Copy Markdown
Member

/verified by e2e-aws-ovn install (ignore e2e) and local testing

@openshift-ci-robot openshift-ci-robot added the verified Signifies that the PR passed pre-merge verification criteria label Jun 25, 2026
@openshift-ci-robot

Copy link
Copy Markdown
Contributor

@tthvo: This PR has been marked as verified by e2e-aws-ovn install (ignore e2e) and local testing.

Details

In response to this:

/verified by e2e-aws-ovn install (ignore e2e) and local testing

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.

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

Labels

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. verified Signifies that the PR passed pre-merge verification criteria

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants