Skip to content

Create more test bucket to debug high cpu issues#31377

Open
xueqzhan wants to merge 3 commits into
openshift:mainfrom
xueqzhan:bucket-experiment
Open

Create more test bucket to debug high cpu issues#31377
xueqzhan wants to merge 3 commits into
openshift:mainfrom
xueqzhan:bucket-experiment

Conversation

@xueqzhan

@xueqzhan xueqzhan commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

/hold

Summary by CodeRabbit

  • New Features
    • Expanded the test runner to discover and execute additional “CPU-heavy” test groups for Kubernetes and OpenShift.
    • Improved multi-iteration execution by extending duplication and expected test counting to include these new groups.
    • Updated run sequencing to execute the new groups as distinct phases in a deterministic order.
    • Added discovery logging for the new Kubernetes/OpenShift CPU-heavy buckets.

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Pipeline controller notification
This repo is configured to use the pipeline controller. Second-stage tests will be triggered either automatically or after lgtm label is added, depending on the repository configuration. The pipeline controller will automatically detect which contexts are required and will utilize /test Prow commands to trigger the second stage.

For optional jobs, comment /test ? to see a list of all defined jobs. To trigger manually all jobs from second stage use /pipeline required command.

This repository is configured in: automatic mode

@openshift-ci openshift-ci Bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jul 9, 2026
@xueqzhan

xueqzhan commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@coderabbitai

coderabbitai Bot commented Jul 9, 2026

Copy link
Copy Markdown

Walkthrough

This PR partitions selected Kubernetes and OpenShift tests into CPU-heavy buckets, adds discovery and --count handling, and executes the buckets with monitored runs capped at min(20, parallelism).

Changes

CPU-heavy test bucket scheduling

Layer / File(s) Summary
CPU-heavy bucket classification
pkg/test/ginkgo/cmd_runsuite.go
Splits matching Kubernetes and OpenShift tests into CPU-heavy buckets and logs their discovery counts.
Count-mode duplication
pkg/test/ginkgo/cmd_runsuite.go
Preserves and duplicates the new buckets for --count repetitions and includes them in expectedTestCount.
Monitored CPU-heavy execution
pkg/test/ginkgo/cmd_runsuite.go
Runs the Kubernetes and OpenShift CPU-heavy buckets with parallelism capped at 20 and appends executed tests to the aggregate list.

Estimated code review effort: 2 (Simple) | ~10 minutes

Suggested reviewers: deads2k, sjenning

🚥 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 matches the main change: adding extra CPU-heavy test buckets to help debug high CPU issues.
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 only re-buckets existing tests; no It/Describe/Context/When titles were added or changed, so no unstable test names were introduced.
Test Structure And Quality ✅ Passed The PR only changes suite-runner bucketing in cmd_runsuite.go; it contains no It/BeforeEach/Eventually blocks or test setup code.
Microshift Test Compatibility ✅ Passed Only pkg/test/ginkgo/cmd_runsuite.go changed, and the diff re-buckets existing tests; no new Ginkgo It/Describe/Context/When specs were added.
Single Node Openshift (Sno) Test Compatibility ✅ Passed Only the test runner bucketization changed; no new Ginkgo specs or test bodies were added, so SNO compatibility review is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed Only test bucket grouping/execution changed in cmd_runsuite.go; no manifests, controllers, affinity, node selectors, or topology-dependent scheduling were added.
Ote Binary Stdout Contract ✅ Passed PASS: The only new output is logrus.Infof in Run, and the file has no main/init/TestMain/RunSpecs or fmt.Print/os.Stdout writes.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed No new Ginkgo tests were added; pkg/test/ginkgo/cmd_runsuite.go only re-buckets existing tests, so no new IPv4 or external-connectivity assumptions are introduced.
No-Weak-Crypto ✅ Passed Touched file only reshuffles test buckets; diff/imports show no md5/sha1/DES/RC4/3DES/Blowfish/ECB or secret comparisons.
Container-Privileges ✅ Passed Only pkg/test/ginkgo/cmd_runsuite.go changed; no manifest/container-security settings were added, and the diff contains no privileged/hostPID/hostNetwork/allowPrivilegeEscalation patterns.
No-Sensitive-Data-In-Logs ✅ Passed New logs only report bucket names and counts; no passwords, tokens, PII, hostnames, or customer data are logged.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@openshift-ci

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/0c146d90-7bd2-11f1-8628-d6f865f51c18-0

@openshift-ci openshift-ci Bot requested review from deads2k and sjenning July 9, 2026 20:11
@openshift-ci

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: xueqzhan

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 Jul 9, 2026

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/test/ginkgo/cmd_runsuite.go (1)

691-786: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Repeated bucket-execution boilerplate could be extracted into a helper.

The copyTests → recordTestBucketInterval → q.Execute → EndInterval → log → append sequence is now duplicated ~14 times in this function (4 new instances added here). Extracting a small helper would reduce duplication and make future bucket additions less error-prone.

♻️ Example helper extraction
func executeTestBucket(ctx context.Context, q *parallelTestQueue, recorder monitor.Recorder, name string, tests []*testCase, parallelism int, cfg testOutputConfig, abortFn abortFunc) []*testCase {
	testsCopy := copyTests(tests)
	intervalID, startTime := recordTestBucketInterval(recorder, name)
	q.Execute(ctx, testsCopy, parallelism, cfg, abortFn)
	recorder.EndInterval(intervalID, time.Now())
	logrus.Infof("Completed %s test bucket in %v", name, time.Since(startTime))
	return testsCopy
}

Usage:

-		draTestsCopy := copyTests(draTests)
-		draIntervalID, draStartTime := recordTestBucketInterval(monitorEventRecorder, "DRA")
-		q.Execute(testCtx, draTestsCopy, parallelism, testOutputConfig, abortFn)
-		monitorEventRecorder.EndInterval(draIntervalID, time.Now())
-		logrus.Infof("Completed DRA test bucket in %v", time.Since(draStartTime))
-		tests = append(tests, draTestsCopy...)
+		tests = append(tests, executeTestBucket(testCtx, q, monitorEventRecorder, "DRA", draTests, parallelism, testOutputConfig, abortFn)...)
🤖 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 `@pkg/test/ginkgo/cmd_runsuite.go` around lines 691 - 786, The bucket execution
flow in this function is repeated many times and should be extracted into a
shared helper. Move the copyTests, recordTestBucketInterval, q.Execute,
monitorEventRecorder.EndInterval, logrus.Infof, and append sequence into a
reusable helper like executeTestBucket, then replace each bucket block (for
example Kubernetes, DRA, InPlaceResize, Probing, Storage, Network, Netpol,
Builds, OpenShift, DeploymentConfig, MustGather) with calls to it. Keep the
helper responsible for returning the copied tests so the caller can continue
appending them to tests.
🤖 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.

Nitpick comments:
In `@pkg/test/ginkgo/cmd_runsuite.go`:
- Around line 691-786: The bucket execution flow in this function is repeated
many times and should be extracted into a shared helper. Move the copyTests,
recordTestBucketInterval, q.Execute, monitorEventRecorder.EndInterval,
logrus.Infof, and append sequence into a reusable helper like executeTestBucket,
then replace each bucket block (for example Kubernetes, DRA, InPlaceResize,
Probing, Storage, Network, Netpol, Builds, OpenShift, DeploymentConfig,
MustGather) with calls to it. Keep the helper responsible for returning the
copied tests so the caller can continue appending them to tests.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 62231f2a-4f19-4df7-9419-d5e1cf9a1f93

📥 Commits

Reviewing files that changed from the base of the PR and between a40276a and d398e5b.

📒 Files selected for processing (1)
  • pkg/test/ginkgo/cmd_runsuite.go

@openshift-ci openshift-ci Bot added the ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review label Jul 9, 2026
@xueqzhan

xueqzhan commented Jul 9, 2026

Copy link
Copy Markdown
Contributor Author

/payload-aggregate periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview 10

@openshift-ci

openshift-ci Bot commented Jul 9, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/a8f9bc00-7bd7-11f1-9f83-ccfaed31241a-0

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: The following tests 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/prow/e2e-aws-ovn-fips d398e5b link true /test e2e-aws-ovn-fips
ci/prow/e2e-vsphere-ovn-upi d398e5b link true /test e2e-vsphere-ovn-upi
ci/prow/e2e-vsphere-ovn d398e5b link true /test e2e-vsphere-ovn
ci/prow/e2e-gcp-ovn d398e5b link true /test e2e-gcp-ovn

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.

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/96088da0-7caf-11f1-9351-44f6e94c965d-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-aggregate periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview 10

@openshift-ci

openshift-ci Bot commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/5569f8e0-7cb1-11f1-8cff-afa80418945c-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/5badb0e0-7d63-11f1-8c41-d227074856d9-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/5de72620-7d63-11f1-9955-6ab1f637f7c9-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/5fcf2000-7d63-11f1-91fc-dc7e147706c0-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/f85932f0-7e1e-11f1-9e51-697b9f4b4700-0

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/test/ginkgo/cmd_runsuite.go (1)

649-686: 📐 Maintainability & Code Quality | 🔵 Trivial | 🏗️ Heavy lift

Consider a table-driven approach for bucket bookkeeping/execution.

Each new bucket (DRA, InPlaceResize, Probing, PodGeneration, CRD, DeploymentConfig) requires the same five hand-written steps: store original, duplicate in the count loop, add to expectedTestCount, copy+execute+record-interval, append to tests. With ~15 buckets now following this identical shape, it's easy to miss a step when adding a bucket (e.g., forgetting to add a length to expectedTestCount), and the function body is growing very large. A slice of {name string; tests []*testCase} processed through shared helper functions would reduce this boilerplate and the chance of a bucket being partially wired.

As per coding guidelines, **/*.go should "favor clarity and maintainability over cleverness"; the current copy-paste growth pattern is starting to work against that.

type testBucket struct {
    name  string
    tests []*testCase
}

// helper used both for count-mode duplication and execution
func executeBucket(ctx context.Context, q *parallelTestQueue, b *testBucket, parallelism int,
    cfg *testOutputConfig, abortFn abortFunc, recorder monitorapi.Recorder) []*testCase {
    cp := copyTests(b.tests)
    id, start := recordTestBucketInterval(recorder, b.name)
    q.Execute(ctx, cp, parallelism, cfg, abortFn)
    recorder.EndInterval(id, time.Now())
    logrus.Infof("Completed %s test bucket in %v", b.name, time.Since(start))
    return cp
}

Also applies to: 718-752, 807-813

🤖 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 `@pkg/test/ginkgo/cmd_runsuite.go` around lines 649 - 686, Refactor the bucket
bookkeeping and execution in the surrounding suite-building flow into a
table-driven collection of named test buckets, covering all existing groups
including DRA, InPlaceResize, Probing, PodGeneration, CRD, and DeploymentConfig.
Reuse shared logic for count-mode duplication, expected-test-count accumulation,
execution/interval recording, and appending results so every bucket follows the
same path and cannot be partially wired; preserve each bucket’s current name and
execution behavior.

Source: Coding guidelines

🤖 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.

Nitpick comments:
In `@pkg/test/ginkgo/cmd_runsuite.go`:
- Around line 649-686: Refactor the bucket bookkeeping and execution in the
surrounding suite-building flow into a table-driven collection of named test
buckets, covering all existing groups including DRA, InPlaceResize, Probing,
PodGeneration, CRD, and DeploymentConfig. Reuse shared logic for count-mode
duplication, expected-test-count accumulation, execution/interval recording, and
appending results so every bucket follows the same path and cannot be partially
wired; preserve each bucket’s current name and execution behavior.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 4b331ff1-091e-482f-9cf1-4ba6886cbd8e

📥 Commits

Reviewing files that changed from the base of the PR and between d398e5b and 3c8db46.

📒 Files selected for processing (1)
  • pkg/test/ginkgo/cmd_runsuite.go

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/d76adda0-7ec8-11f1-9b85-2275827518b2-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/3139ced0-7ef7-11f1-824e-022f1670a508-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/3484db20-7ef7-11f1-9ab6-5266e13ab59e-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

1 similar comment
@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/faf41b80-7f02-11f1-8e47-d3e9f541726c-0

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/fd4844b0-7f02-11f1-998c-9c2351de6d23-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

1 similar comment
@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/32473440-7f04-11f1-9d8e-a0b5a804e7b6-0

@openshift-ci

openshift-ci Bot commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/34049bb0-7f04-11f1-8417-692a57ad4cdf-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/8c73e3f0-7f81-11f1-946f-9c12be0cd70d-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/8ef42630-7f81-11f1-8ce5-b6c8f01cae8a-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

1 similar comment
@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/90f2dc60-7f81-11f1-8b19-52ee4f204bd8-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/931a7750-7f81-11f1-8f19-257e2412d336-0

@xueqzhan

Copy link
Copy Markdown
Contributor Author

/payload-job periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/9477bd60-7f81-11f1-8c44-c2c42c566060-0

@openshift-ci

openshift-ci Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@xueqzhan: trigger 1 job(s) for the /payload-(with-prs|job|aggregate|job-with-prs|aggregate-with-prs) command

  • periodic-ci-openshift-release-main-nightly-5.0-e2e-aws-ovn-upgrade-fips-rhcos9-techpreview

See details on https://pr-payload-tests.ci.openshift.org/runs/ci/96b6d7f0-7f81-11f1-8f52-e72a372c11f5-0

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
pkg/test/ginkgo/cmd_runsuite.go (1)

697-702: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Document why CPU-heavy buckets are capped at 20, and avoid repeating the literal.

Every other bucket's non-default parallelism choice in this function is explained inline (storage halves parallelism to avoid cloud quota issues, ordered-namespace-deletion runs at 1 due to workqueue backlog sensitivity, netpol runs at 2 due to cluster overload risk, builds halves parallelism for CPU concerns). The two new CPU-heavy buckets introduce min(20, parallelism) with no such rationale, and the 20 is duplicated across both call sites, risking drift if one is tuned later without the other.

  • pkg/test/ginkgo/cmd_runsuite.go#L697-L702: add a short comment explaining why KubeCPUHeavy is capped at 20 (e.g. limiting concurrent CPU-heavy tests to reduce node CPU pressure), and reference a named constant instead of the literal 20.
  • pkg/test/ginkgo/cmd_runsuite.go#L758-L763: use the same named constant introduced above for OpenshiftCPUHeavy, with the shared rationale comment (or a pointer to it).

As per coding guidelines, **/*.go should "Favor clarity and maintainability over cleverness in Go code. Keep comments minimal and helpful, explaining why rather than what."

♻️ Proposed fix
+// cpuHeavyBucketParallelism caps the concurrency of CPU-intensive test buckets
+// to reduce node CPU pressure during the debugging window for high-CPU incidents.
+const cpuHeavyBucketParallelism = 20
+
 		kubeCPUHeavyTestsCopy := copyTests(kubeCPUHeavyTests)
 		kubeCPUHeavyIntervalID, kubeCPUHeavyStartTime := recordTestBucketInterval(monitorEventRecorder, "KubeCPUHeavy")
-		q.Execute(testCtx, kubeCPUHeavyTestsCopy, min(20, parallelism), testOutputConfig, abortFn)
+		q.Execute(testCtx, kubeCPUHeavyTestsCopy, min(cpuHeavyBucketParallelism, parallelism), testOutputConfig, abortFn) // cap parallelism to limit CPU pressure from these heavy tests
 		openshiftCPUHeavyTestsCopy := copyTests(openshiftCPUHeavyTests)
 		openshiftCPUHeavyIntervalID, openshiftCPUHeavyStartTime := recordTestBucketInterval(monitorEventRecorder, "OpenshiftCPUHeavy")
-		q.Execute(testCtx, openshiftCPUHeavyTestsCopy, min(20, parallelism), testOutputConfig, abortFn)
+		q.Execute(testCtx, openshiftCPUHeavyTestsCopy, min(cpuHeavyBucketParallelism, parallelism), testOutputConfig, abortFn) // same cap as KubeCPUHeavy
🤖 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 `@pkg/test/ginkgo/cmd_runsuite.go` around lines 697 - 702, In
pkg/test/ginkgo/cmd_runsuite.go at lines 697-702, define a shared named constant
for the CPU-heavy concurrency cap, add a brief rationale comment explaining that
the cap of 20 reduces node CPU pressure, and use it in the KubeCPUHeavy min
call. At lines 758-763, replace the duplicated literal in the OpenshiftCPUHeavy
min call with the same constant and reuse or reference the shared rationale
comment.

Source: Coding guidelines

🤖 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.

Nitpick comments:
In `@pkg/test/ginkgo/cmd_runsuite.go`:
- Around line 697-702: In pkg/test/ginkgo/cmd_runsuite.go at lines 697-702,
define a shared named constant for the CPU-heavy concurrency cap, add a brief
rationale comment explaining that the cap of 20 reduces node CPU pressure, and
use it in the KubeCPUHeavy min call. At lines 758-763, replace the duplicated
literal in the OpenshiftCPUHeavy min call with the same constant and reuse or
reference the shared rationale comment.

ℹ️ Review info
⚙️ Run configuration

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

Review profile: CHILL

Plan: Enterprise

Run ID: 0b11c0dc-e138-4bbe-8865-38da3aa6c507

📥 Commits

Reviewing files that changed from the base of the PR and between 3c8db46 and 99f4bfd.

📒 Files selected for processing (1)
  • pkg/test/ginkgo/cmd_runsuite.go

@openshift-merge-bot

Copy link
Copy Markdown
Contributor

Scheduling required tests:
/test e2e-aws-csi
/test e2e-aws-ovn-fips
/test e2e-aws-ovn-microshift
/test e2e-aws-ovn-microshift-serial
/test e2e-aws-ovn-serial-1of2
/test e2e-aws-ovn-serial-2of2
/test e2e-gcp-csi
/test e2e-gcp-ovn
/test e2e-gcp-ovn-upgrade
/test e2e-metal-ipi-ovn-ipv6
/test e2e-vsphere-ovn
/test e2e-vsphere-ovn-upi

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. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. ready-for-human-review Indicates a PR has been reviewed by automated tools and is ready for human review

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant