Skip to content

ci: Pin older OVN-Kubernetes branches to version-matched CNV nightly#78122

Merged
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
mkowalski:fix/pin-cnv-nightly-older-branches
Apr 22, 2026
Merged

ci: Pin older OVN-Kubernetes branches to version-matched CNV nightly#78122
openshift-merge-bot[bot] merged 1 commit intoopenshift:mainfrom
mkowalski:fix/pin-cnv-nightly-older-branches

Conversation

@mkowalski
Copy link
Copy Markdown
Contributor

@mkowalski mkowalski commented Apr 21, 2026

Set CNV_PRERELEASE_LATEST_CHANNEL to false for release-4.17 through release-4.22 branches. This causes the kubevirt-install step to use version-matched CNV nightly (e.g. nightly-4.22 for OCP 4.22) instead of the bleeding-edge nightly-4.99.

CNV nightly-4.99 recently picked up QEMU from RHEL 9.8 which introduces the pc-q35-rhel9.8.0 machine type as the default. This machine type is not available on older OCP release nodes, causing virt-launcher pods to fail scheduling with:

0/6 nodes are available: 6 node(s) didn't match Pod's node
affinity/selector

The mismatch occurs because the CNV CSV sets the default machine type to pc-q35-rhel9.8.0, but the node's QEMU only supports up to pc-q35-rhel9.6.0, so the required node label
machine-type.node.kubevirt.io/pc-q35-rhel9.8.0 is never created.

Branches main, release-4.23, release-5.0, and release-5.1 continue to use nightly-4.99 as they track OCP versions compatible with the latest CNV builds.

Generated-by: OpenClaw 2026.4.15
AI-model: claude-opus-4.6 (Anthropic)

Summary by CodeRabbit

  • Chores
    • Updated continuous integration test configuration for virtualization compatibility scenarios across multiple OpenShift release branches.

Set CNV_PRERELEASE_LATEST_CHANNEL to false for release-4.17 through
release-4.22 branches. This causes the kubevirt-install step to use
version-matched CNV nightly (e.g. nightly-4.22 for OCP 4.22) instead
of the bleeding-edge nightly-4.99.

CNV nightly-4.99 recently picked up QEMU from RHEL 9.8 which
introduces the pc-q35-rhel9.8.0 machine type as the default. This
machine type is not available on older OCP release nodes, causing
virt-launcher pods to fail scheduling with:

  0/6 nodes are available: 6 node(s) didn't match Pod's node
  affinity/selector

The mismatch occurs because the CNV CSV sets the default machine type
to pc-q35-rhel9.8.0, but the node's QEMU only supports up to
pc-q35-rhel9.6.0, so the required node label
machine-type.node.kubevirt.io/pc-q35-rhel9.8.0 is never created.

Branches main, release-4.23, release-5.0, and release-5.1 continue
to use nightly-4.99 as they track OCP versions compatible with the
latest CNV builds.

Generated-by: OpenClaw 2026.4.15
AI-model: claude-opus-4.6 (Anthropic)
Signed-off-by: Mateusz Kowalski <mko@redhat.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 21, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: openshift/coderabbit/.coderabbit.yaml

Review profile: CHILL

Plan: Pro Plus

Run ID: e28fa2f9-df73-4ffc-a7a5-4af31a0a59f9

📥 Commits

Reviewing files that changed from the base of the PR and between a45da31 and 8f9cdcd.

📒 Files selected for processing (6)
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.19.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.20.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.22__periodics.yaml

Walkthrough

CI configuration files for openshift-ovn-kubernetes across release versions 4.17 through 4.22 are updated, changing the CNV_PRERELEASE_LATEST_CHANNEL environment variable from "true" to "false" in multiple e2e test steps to alter channel selection behavior.

Changes

Cohort / File(s) Summary
CNV Prerelease Channel Configuration
ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.17.yaml, openshift-ovn-kubernetes-release-4.19.yaml, openshift-ovn-kubernetes-release-4.20.yaml, openshift-ovn-kubernetes-release-4.21.yaml, openshift-ovn-kubernetes-release-4.22.yaml, openshift-ovn-kubernetes-release-4.22__periodics.yaml
Updated CNV_PRERELEASE_LATEST_CHANNEL from "true" to "false" across e2e test configurations for AWS and BareMetal environments in multiple release versions.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 12
✅ Passed checks (12 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: setting CNV_PRERELEASE_LATEST_CHANNEL=false for older OVN-Kubernetes branches (4.17-4.22) to use version-matched CNV nightly builds instead of bleeding-edge nightly-4.99.
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 This custom check is not applicable to the provided pull request. The PR exclusively modifies CI operator configuration YAML files in ci-operator/config/openshift/ovn-kubernetes/ that contain CI/CD pipeline definitions with environment variable settings. The only code changes are setting CNV_PRERELEASE_LATEST_CHANNEL from true to false in multiple YAML test configurations. No Ginkgo test code files are being modified, and no test titles (It(), Describe(), Context(), When(), etc.) are being added or altered. Since the check specifically addresses Ginkgo test names which are not present in this PR's changes, the requirement to ensure stable and deterministic test names does not apply.
Test Structure And Quality ✅ Passed PR modifies YAML CI configuration files in ci-operator/config/openshift/ovn-kubernetes/, updating environment variables. No Ginkgo test code is present, so the check is not applicable.
Microshift Test Compatibility ✅ Passed This PR contains only CI/configuration changes to YAML files with no new Ginkgo test definitions, making the MicroShift Test Compatibility check not applicable.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Pull request contains only CI configuration changes without adding new Ginkgo e2e tests, so the custom check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies only CI operator configuration files (YAML test specifications), not deployment manifests, operator code, or controllers that determine pod scheduling behavior.
Ote Binary Stdout Contract ✅ Passed This PR modifies only YAML CI configuration files, changing environment variable values for test workflows. No source code, binary code, or test framework initialization code is modified, so the OTE Binary Stdout Contract cannot be violated.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR only modifies CI configuration YAML files without adding new Ginkgo e2e test code, making the check 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-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@mkowalski: the pj-rehearse plugin accommodates running rehearsal tests for the changes in this PR. Expand 'Interacting with pj-rehearse' for usage details. The following rehearsable tests have been affected by this change:

Test name Repo Type Reason
pull-ci-openshift-ovn-kubernetes-release-4.22-e2e-metal-ipi-ovn-bgp-virt-dualstack openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.22-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-e2e-metal-ipi-ovn-bgp-virt-dualstack openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.17-e2e-aws-ovn-virt-techpreview openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.20-e2e-metal-ipi-ovn-bgp-virt-dualstack openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.20-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.19-e2e-aws-ovn-virt openshift/ovn-kubernetes presubmit Ci-operator config changed
periodic-ci-openshift-ovn-kubernetes-release-4.22-periodics-e2e-metal-ipi-ovn-bgp-virt-ipv4-techpreview N/A periodic Ci-operator config changed
periodic-ci-openshift-ovn-kubernetes-release-4.22-periodics-e2e-metal-ipi-ovn-bgp-virt-dualstack N/A periodic Ci-operator config changed
periodic-ci-openshift-ovn-kubernetes-release-4.22-periodics-e2e-metal-ipi-ovn-bgp-virt-dualstack-techpreview N/A periodic Ci-operator config changed
periodic-ci-openshift-ovn-kubernetes-release-4.22-periodics-e2e-metal-ipi-ovn-bgp-virt-ipv4 N/A periodic Ci-operator config changed

Prior to this PR being merged, you will need to either run and acknowledge or opt to skip these rehearsals.

Interacting with pj-rehearse

Comment: /pj-rehearse to run up to 5 rehearsals
Comment: /pj-rehearse skip to opt-out of rehearsals
Comment: /pj-rehearse {test-name}, with each test separated by a space, to run one or more specific rehearsals
Comment: /pj-rehearse more to run up to 10 rehearsals
Comment: /pj-rehearse max to run up to 25 rehearsals
Comment: /pj-rehearse auto-ack to run up to 5 rehearsals, and add the rehearsals-ack label on success
Comment: /pj-rehearse list to get an up-to-date list of affected jobs
Comment: /pj-rehearse abort to abort all active rehearsals
Comment: /pj-rehearse network-access-allowed to allow rehearsals of tests that have the restrict_network_access field set to false. This must be executed by an openshift org member who is not the PR author

Once you are satisfied with the results of the rehearsals, comment: /pj-rehearse ack to unblock merge. When the rehearsals-ack label is present on your PR, merge will no longer be blocked by rehearsals.
If you would like the rehearsals-ack label removed, comment: /pj-rehearse reject to re-block merging.

@mkowalski
Copy link
Copy Markdown
Contributor Author

mkowalski commented Apr 21, 2026

/pj-rehearse auto-ack


🤖 This comment was posted by OpenClaw on behalf of @mkowalski.

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@mkowalski: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

Copy link
Copy Markdown
Contributor

@maiqueb maiqueb left a comment

Choose a reason for hiding this comment

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

might as well remove the entry altogether, but this works.

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

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@mkowalski: now processing your pj-rehearse request. Please allow up to 10 minutes for jobs to trigger or cancel.

@openshift-merge-bot openshift-merge-bot Bot added the rehearsals-ack Signifies that rehearsal jobs have been acknowledged label Apr 22, 2026
@mkowalski
Copy link
Copy Markdown
Contributor Author

/approve

1 similar comment
@jcaamano
Copy link
Copy Markdown
Contributor

/approve

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 22, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: jcaamano, maiqueb, mkowalski

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 Apr 22, 2026
@openshift-merge-bot openshift-merge-bot Bot merged commit 390222d into openshift:main Apr 22, 2026
10 of 19 checks passed
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Apr 22, 2026

@mkowalski: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/rehearse/openshift/ovn-kubernetes/release-4.17/e2e-aws-ovn-virt-techpreview 8f9cdcd link unknown /pj-rehearse pull-ci-openshift-ovn-kubernetes-release-4.17-e2e-aws-ovn-virt-techpreview

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

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants