Skip to content

Sync downstream ovnk payload configs...#79999

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
afcollins:perfscale-ovnk-payload
Jun 3, 2026
Merged

Sync downstream ovnk payload configs...#79999
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
afcollins:perfscale-ovnk-payload

Conversation

@afcollins
Copy link
Copy Markdown
Contributor

@afcollins afcollins commented Jun 2, 2026

with those used in perfscale nightly jobs

PERFSCALE-4980

with those used in perfscale nightly jobs

PERFSCALE-4980

Signed-off-by: Andrew Collins <ancollin@redhat.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jun 2, 2026

Walkthrough

This PR updates CI operator configuration for the OVN Kubernetes project across five release branches. The qe-perfscale-payload-control-plane-6nodes test job is reconfigured to use new performance and churn tuning parameters, replacing legacy compute node and index flags with structured control-plane iteration and churn-cycle variables across main, 4.21, 4.22, 4.23, and 5.0 release tracks.

Changes

Performance Test Job Configuration Reconfiguration

Layer / File(s) Summary
Main branch perf test configuration update
ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml
Job environment variables restructured by removing COMPUTE_NODE_REPLICAS and ENABLE_LOCAL_INDEX, replacing EXTRA_FLAGS with CD_V2_EXTRA_FLAGS, and adding ADDITIONAL_WORKER_NODES, ND_CNI_EXTRA_FLAGS, and ND_EXTRA_FLAGS. Test list extended with initial openshift-qe-workers-scale reference.
Release branches perf test configuration update (4.21–5.0)
ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-4.21.yaml, release-4.22.yaml, release-4.23.yaml, release-5.0.yaml
Same perf tuning pattern applied across all release versions with version-specific variations. Release 4.21 adds CDV2_ITERATION_MULTIPLIER and IGNORE_JOB_ITERATIONS. Release 4.22, 4.23, and 5.0 add ENABLE_LAYER_3, IGNORE_JOB_ITERATIONS, and KB_FLAGS. Release 4.23 and 5.0 update VERSION field. All configs add openshift-qe-workers-scale test reference before existing test chains.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

lgtm, area/pipelines, approved, rehearsals-ack

Suggested reviewers

  • deepsm007
  • amp-rh
  • jmguzik
🚥 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 'Sync downstream ovnk payload configs...' refers to updating OVNK payload configurations, which is the primary change across all modified files.
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 PR contains only CI/operator YAML config files, not Ginkgo test code. No It(), Describe(), Context(), When() test definitions present. Check not applicable.
Test Structure And Quality ✅ Passed Custom check is for Ginkgo test code quality, but PR only modifies YAML CI/operator configuration files without any Go test implementations.
Microshift Test Compatibility ✅ Passed PR modifies only CI operator YAML configuration files, not Ginkgo e2e test code. The custom check applies to new test implementations, not CI job configuration.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR modifies only CI configuration YAML files with no new Ginkgo e2e tests added; SNO compatibility check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed PR modifies CI-Operator configuration files (not deployment manifests). No Kubernetes manifest objects or scheduling constraints present—check does not apply.
Ote Binary Stdout Contract ✅ Passed PR only modifies YAML CI configuration files with no Go code changes; OTE Binary Stdout Contract check is inapplicable to this scope.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR modifies only YAML CI configuration files, not Ginkgo test code. Custom check applies when new e2e tests are added, which is not the case.
No-Weak-Crypto ✅ Passed PR contains only YAML CI/CD configuration files with no source code. No cryptographic implementations, weak algorithms, or insecure comparisons detected in any modified files.
Container-Privileges ✅ Passed The PR modifies CI-Operator configuration files, not Kubernetes/container manifests. No privileged container settings are present.
No-Sensitive-Data-In-Logs ✅ Passed PR updates CI job configs with non-sensitive environment variables (performance/churn tuning flags). No passwords, tokens, API keys, PII, or secrets in logging.

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

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

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@openshift-ci openshift-ci Bot requested review from jcaamano and martinkennelly June 2, 2026 19:41
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@afcollins: 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-5.0-qe-perfscale-payload-control-plane-6nodes openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.23-qe-perfscale-payload-control-plane-6nodes openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.21-qe-perfscale-payload-control-plane-6nodes openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-release-4.22-qe-perfscale-payload-control-plane-6nodes openshift/ovn-kubernetes presubmit Ci-operator config changed
pull-ci-openshift-ovn-kubernetes-main-qe-perfscale-payload-control-plane-6nodes openshift/ovn-kubernetes presubmit 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.

Copy link
Copy Markdown
Contributor

@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
`@ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml`:
- Line 401: The VERSION setting in the job YAML is incorrect: update the VERSION
key value from "4.22" to "5.0" so the test job matches the main-branch promotion
and releases configuration; locate the VERSION: "4.22" entry in the
openshift-ovn-kubernetes-main.yaml job and replace it with VERSION: "5.0".
🪄 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: d73852f9-4bc4-4417-aed0-22b60a70ef25

📥 Commits

Reviewing files that changed from the base of the PR and between 9984538 and 7f8c250.

📒 Files selected for processing (5)
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.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.23.yaml
  • ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-release-5.0.yaml

OUTPUT_FORMAT: JUNIT
RUN_ORION: "false"
UDN_ITERATION_MULTIPLIER: "12"
VERSION: "4.22"
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot Jun 2, 2026

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

VERSION mismatch: should be "5.0" for main branch.

The main branch is configured to promote to "5.0" (line 28), and the releases section references "5.0" (lines 33-34, 38-39). However, this test job still uses VERSION: "4.22". For consistency with the branch configuration and to match the pattern in the release-5.0.yaml file (which correctly uses VERSION: "5.0"), this should be updated.

Proposed fix
-      VERSION: "4.22"
+      VERSION: "5.0"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
VERSION: "4.22"
VERSION: "5.0"
🤖 Prompt for 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.

In
`@ci-operator/config/openshift/ovn-kubernetes/openshift-ovn-kubernetes-main.yaml`
at line 401, The VERSION setting in the job YAML is incorrect: update the
VERSION key value from "4.22" to "5.0" so the test job matches the main-branch
promotion and releases configuration; locate the VERSION: "4.22" entry in the
openshift-ovn-kubernetes-main.yaml job and replace it with VERSION: "5.0".

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I agree, but this is out of the scope of the PR changes.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@afcollins, understood — thanks for confirming it's a valid concern. Would you like me to open a follow-up GitHub issue to track updating VERSION: "4.22"VERSION: "5.0" in the qe-perfscale-payload-control-plane-6nodes job in openshift-ovn-kubernetes-main.yaml?


🧠 Learnings used
Learnt from: PillaiManish
Repo: openshift/release PR: 79231
File: ci-operator/config/openshift/secrets-store-csi-driver-operator/openshift-secrets-store-csi-driver-operator-main.yaml:0-0
Timestamp: 2026-05-20T05:41:25.164Z
Learning: When reviewing OpenShift/Kubernetes operator manifests/CSVs, if a ClusterServiceVersion (CSV) defines an `emptyDir` volume mounted at `/tmp` with `medium: Memory`, treat that data as scoped to the *pod lifecycle* (not the container lifecycle). Container restarts within the same pod (e.g., restart after SIGTERM/termination and recreation of the container) should not wipe the `emptyDir` contents; data written to something like `/tmp/e2e-cover` should still be present and can be collected afterward (e.g., via `oc cp`). The `emptyDir` is cleared when the pod is deleted/recreated/rescheduled (pod lifecycle ends), not on container restarts.

Learnt from: rdiscala
Repo: openshift/release PR: 79357
File: ci-operator/config/openshift-kni/eco-ci-cd/openshift-kni-eco-ci-cd-main__cnf-ran-sno-day2-worker-4.18.yaml:23-23
Timestamp: 2026-05-20T11:54:20.424Z
Learning: In the openshift/release repository CI operator configuration YAMLs, do not treat an intentionally impossible cron schedule (e.g., `0 0 31 2 *` for “Feb 31”) as a misconfiguration. This pattern is an intentional mechanism used to disable/park a periodic CI job temporarily (e.g., while an upstream bug is being fixed). Only flag cron syntax errors when the schedule is not an intentional “impossible date” disable pattern used for job parking.

Learnt from: dhaiducek
Repo: openshift/release PR: 79563
File: ci-operator/config/stolostron/cluster-proxy/stolostron-cluster-proxy-main.yaml:41-43
Timestamp: 2026-05-20T19:31:57.286Z
Learning: In the openshift/release repo, for ci-operator container test step config YAML files under ci-operator/config/, remember that the `commands` field is read by ci-operator at runtime from the config YAML and is not embedded into the generated ProwJob YAML under `ci-operator/jobs/`. Therefore, if a PR changes only `commands` (and not any ProwJob-spec affecting structural fields such as test/job names, job types/spec, or metadata that changes the resulting ProwJob spec), you generally do NOT need to run `make update` and regenerating artifacts should be a no-op diff. Run `make update` only when the changes affect the generated ProwJob spec (e.g., new/renamed tests, new job types, or other spec/metadata changes that alter `ci-operator/jobs/` output).

Learnt from: tthvo
Repo: openshift/release PR: 79564
File: ci-operator/config/openshift/multiarch/openshift-multiarch-main__nightly-4.20-upgrade-from-nightly-4.19.yaml:94-94
Timestamp: 2026-05-20T20:01:14.481Z
Learning: In the openshift/release repo, when editing ci-operator config YAMLs under ci-operator/config/, changes that only modify the *values* of environment variables inside test step `env` blocks (e.g., COMPUTE_NODE_TYPE, ADDITIONAL_WORKER_VM_TYPE, MIGRATION_INFRA_MACHINE_TYPE) do not change the generated ProwJob specs under ci-operator/jobs/. For these value-only env tweaks, reviewers should not require running `make update` because it should produce no diff. Require `make update` only for structural/semantic changes that can affect the generated ProwJob spec (e.g., adding/renaming tests, changing job types, or altering metadata/fields that feed into the ProwJob spec).

Learnt from: karampok
Repo: openshift/release PR: 79537
File: ci-operator/config/openshift/bond-cni/openshift-bond-cni-main.yaml:32-33
Timestamp: 2026-05-21T09:04:21.025Z
Learning: In openshift/release, when modifying a ci-operator config YAML under ci-operator/config/ by adding an `env` block (key/value environment variables such as `TEST_TYPE`, `TEST_SUITE`, `TEST_ARGS`) to an existing test step, this change does not affect the generated ProwJob specs under ci-operator/jobs/. In this case, `make update` is a no-op—do not request or flag that `make update` was (or needs to be) run for these env-only edits.

Learnt from: feichashao
Repo: openshift/release PR: 79740
File: ci-operator/config/openshift/backplane-cli/openshift-backplane-cli-main.yaml:2-10
Timestamp: 2026-05-27T06:35:08.802Z
Learning: In the openshift/release repo, for ci-operator config YAMLs under `ci-operator/config/`, changes that only modify these fields do not require running `make update` or regenerating ProwJob spec YAMLs under `ci-operator/jobs/`: `base_images` and `build_root.image_stream_tag`. These values are read by ci-operator at runtime and are not embedded into the generated ProwJob specs. Only “structural/semantic” changes that would change the resulting ProwJob specs themselves (e.g., adding/renaming tests, changing job types, or changing metadata that feeds into the ProwJob spec) require `make update`.

Learnt from: sivaramsingana
Repo: openshift/release PR: 79753
File: ci-operator/config/quay/quay-tests/quay-quay-tests-master__ocp-421-s390x-quay.yaml:1-41
Timestamp: 2026-05-27T11:27:23.893Z
Learning: In the openshift/release repo, for CI-operator configuration YAMLs located under `ci-operator/config/`, do not require `images` or `promotion` sections when the configuration is test-only and does not build any new container images. 
- Include `images` only if the config actually builds new images.
- Include `promotion` only if any built images must be promoted.
- Test-only configs that only consume `base_images` in `workflow/test` steps (and do not build new images) should be considered complete without `images` or `promotion`.

Learnt from: rafabene
Repo: openshift/release PR: 79722
File: ci-operator/config/openshift-hyperfleet/hyperfleet-e2e/openshift-hyperfleet-hyperfleet-e2e-main__e2e.yaml:28-28
Timestamp: 2026-05-27T14:34:48.023Z
Learning: When reviewing `ci-operator` presubmit test YAMLs in `ci-operator/config/**/*.yaml`, do NOT automatically flag `skip_if_only_changed: .` as a misconfiguration. In this repo it can be an intentional pattern for “manual-only” presubmit jobs that are designed to run only when explicitly requested (e.g., triggered via `/test <job-name>`, similar to `pj-rehearse`) rather than auto-running on every PR. Only flag `skip_if_only_changed: .` if the surrounding job configuration does not indicate it is meant to be a manually triggered presubmit.

Learnt from: LuboTerifaj
Repo: openshift/release PR: 79928
File: ci-operator/config/openshift/openshift-tests-private/openshift-openshift-tests-private-release-5.0__automated-release-stable-5.0-upgrade-from-stable-5.0.yaml:46-62
Timestamp: 2026-06-02T10:55:27.606Z
Learning: In the openshift/release repo’s ci-operator config YAMLs, the `relative` field is valid when used inside a `prerelease` release block (it is not limited to `candidate` blocks). If you see `relative` set under `prerelease` (e.g., `relative: 1`), do not flag it as a schema violation. Reviewers should treat this as the standard OpenShift incremental z-stream upgrade testing pattern where `ci-operator` uses `relative` to append `&rel=<N>` to the release API request, selecting the Nth build position within the configured `version_bounds` (e.g., `5.0.0-ec.1` → `5.0.0-ec.2`).

Learnt from: smg247
Repo: openshift/release PR: 79989
File: ci-operator/config/openshift/sippy/openshift-sippy-main.yaml:21-22
Timestamp: 2026-06-02T17:01:07.630Z
Learning: In this repo, when reviewing ci-operator config YAMLs under `ci-operator/config/`, treat `dockerfile_path` entries as paths resolved relative to the upstream source repository being tested (e.g., `openshift/sippy`), not relative to the `openshift/release` repo clone. Do not flag `dockerfile_path` as missing/broken just because the referenced file is not present in the `openshift/release` checkout; verify the Dockerfile exists in the upstream source repo referenced by the test configuration before raising a finding.

Learnt from: smg247
Repo: openshift/release PR: 79989
File: ci-operator/config/openshift/sippy/openshift-sippy-main.yaml:21-29
Timestamp: 2026-06-02T17:01:09.558Z
Learning: In openshift/release, for ci-operator config YAMLs under ci-operator/config/, changes limited to the `images` and/or `promotion` sections (including adding/removing image build entries or promotion targets) should not trigger running `make update` or regenerating ProwJob spec YAMLs under ci-operator/jobs/. `ci-operator` reads `images` and `promotion` directly from these config YAMLs at runtime, and those fields are not embedded into the generated ProwJob specs. Only changes that affect ProwJob spec generation/structure (e.g., adding/renaming tests, changing job types, or modifying metadata that feeds into ProwJob spec generation) require `make update` and regenerated ProwJob YAMLs.

@afcollins
Copy link
Copy Markdown
Contributor Author

/pj-rehearse pull-ci-openshift-ovn-kubernetes-main-qe-perfscale-payload-control-plane-6nodes

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@jtaleric
Copy link
Copy Markdown
Contributor

jtaleric commented Jun 3, 2026

since Orion is disabled in these runs the VERSION isn't important and can be omittted.

/lgtm
/approve

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

abhat commented Jun 3, 2026

/approve

@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 3, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhat, afcollins, jtaleric

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 3, 2026
@afcollins
Copy link
Copy Markdown
Contributor Author

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@afcollins: 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 Jun 3, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented Jun 3, 2026

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

@openshift-merge-bot openshift-merge-bot Bot merged commit 1592dce into openshift:main Jun 3, 2026
15 checks passed
@afcollins afcollins deleted the perfscale-ovnk-payload branch June 3, 2026 16:53
IshwarKanse pushed a commit to IshwarKanse/release that referenced this pull request Jun 4, 2026
with those used in perfscale nightly jobs

PERFSCALE-4980

Signed-off-by: Andrew Collins <ancollin@redhat.com>
fracappa pushed a commit to fracappa/release that referenced this pull request Jun 4, 2026
with those used in perfscale nightly jobs

PERFSCALE-4980

Signed-off-by: Andrew Collins <ancollin@redhat.com>
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