Skip to content

CNTRLPLANE-3222: exclude lifecycle-labeled tests from general v2 e2e jobs#79574

Merged
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
bryan-cox:v2-label-filter
May 21, 2026
Merged

CNTRLPLANE-3222: exclude lifecycle-labeled tests from general v2 e2e jobs#79574
openshift-merge-bot[bot] merged 1 commit into
openshift:mainfrom
bryan-cox:v2-label-filter

Conversation

@bryan-cox
Copy link
Copy Markdown
Member

@bryan-cox bryan-cox commented May 20, 2026

Summary

  • Add --ginkgo.label-filter='!lifecycle' to the hypershift-e2e-v2 chain to exclude all lifecycle tests from general v2 jobs
  • Uses a single umbrella lifecycle label instead of enumerating each test group individually — new lifecycle tests in the hypershift repo just need Label("lifecycle", "specific-label") and this filter covers them automatically
  • These tests require dedicated clusters provisioned by the self-managed lifecycle job (e2e-azure-v2-self-managed)

Without this filter, the e2e-v2-aws and e2e-v2-gke jobs run all v2 specs, causing:

  • etcd chaos tests to fail on single-replica clusters (recovery controller needs quorum)
  • lifecycle tests to exceed the 30-minute job timeout

Merge ordering

This PR should merge before hypershift PR #8527, which adds Label("lifecycle", ...) to the test Describes. The !lifecycle filter is a no-op until those labels exist, so merging first is safe.

Test plan

  • Verified !lifecycle filter syntax is valid Ginkgo label-filter
  • /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-aws
  • /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

🤖 Generated with Claude Code

Summary by CodeRabbit

This PR updates the OpenShift CI configuration in the openshift/release repository for the HyperShift E2E v2 CI step to exclude long-running lifecycle tests from the general e2e-v2 jobs. Concretely, the hypershift-e2e-v2 chain step is changed to pass a Ginkgo label filter that excludes tests with the labels: etcd-chaos, nodepool-lifecycle, nodepool-autoscaling, and control-plane-upgrade.

Practical effect:

  • e2e-v2-aws and e2e-v2-gke will no longer run those lifecycle specs (previously all ~716 v2 specs ran).
  • Prevents etcd-chaos failures on single-replica clusters (quorum/recovery-controller issues).
  • Avoids lifecycle tests exceeding the 30-minute job timeout; those tests run in a dedicated job (e2e-azure-v2-self-managed) that targets HA clusters and uses longer timeouts.

Scope: CI configuration (ci-operator step registry) for HyperShift E2E v2 in the openshift/release repository.

@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 20, 2026
@openshift-ci-robot
Copy link
Copy Markdown
Contributor

openshift-ci-robot commented May 20, 2026

@bryan-cox: This pull request references CNTRLPLANE-3222 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 task to target the "5.0.0" version, but no target version was set.

Details

In response to this:

Summary

  • Add --ginkgo.label-filter to the hypershift-e2e-v2 chain to exclude etcd-chaos, nodepool-lifecycle, nodepool-autoscaling, and control-plane-upgrade tests
  • These long-running lifecycle tests require dedicated HA clusters and longer timeouts — they have their own CI job (e2e-azure-v2-self-managed)

Without this filter, the e2e-v2-aws and e2e-v2-gke jobs run all 716 v2 specs, causing:

  • etcd chaos tests to fail on single-replica clusters (recovery controller needs quorum)
  • lifecycle tests to exceed the 30-minute job timeout

Test plan

  • Verified label names match test code (Label("etcd-chaos"), etc.)
  • /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-aws
  • /pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

🤖 Generated with Claude Code

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
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 20, 2026

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: bf8c871f-52fb-4a28-a480-6e6712ae5d1f

📥 Commits

Reviewing files that changed from the base of the PR and between 615b533 and 08109c4.

📒 Files selected for processing (1)
  • ci-operator/step-registry/hypershift/e2e-v2/hypershift-e2e-v2-chain.yaml

Walkthrough

The Hypershift E2E v2 CI test invocation now passes a Ginkgo label filter to exclude tests labelled lifecycle when running bin/test-e2e-v2, preserving verbose and JUnit output.

Changes

HyperShift E2E Test Label Filtering

Layer / File(s) Summary
Test label filtering
ci-operator/step-registry/hypershift/e2e-v2/hypershift-e2e-v2-chain.yaml
The bin/test-e2e-v2 command adds --ginkgo.label-filter='!lifecycle', keeping --ginkgo.v and the JUnit report path.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

lgtm, rehearsals-ack

Suggested reviewers

  • csrwng
🚥 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 directly reflects the main change: adding a Ginkgo label filter to exclude lifecycle-labeled tests from the general v2 e2e jobs.
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 modifies only CI configuration (.yaml), not test code. Custom check for stable Ginkgo test names is not applicable to CI config files.
Test Structure And Quality ✅ Passed PR only modifies CI configuration to add a label filter, not Ginkgo test code. The check requires review of actual test implementations, which are absent here.
Microshift Test Compatibility ✅ Passed No new Ginkgo e2e tests are added. The PR only modifies CI configuration to add a label filter excluding existing tests.
Single Node Openshift (Sno) Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests; it only modifies CI configuration to exclude existing tests with lifecycle labels. Custom check is not applicable.
Topology-Aware Scheduling Compatibility ✅ Passed This PR modifies a CI test step configuration (not a deployment manifest, operator code, or controller). The custom check scope excludes such files and focuses only on production artifacts.
Ote Binary Stdout Contract ✅ Passed PR is a CI configuration change only, adding a Ginkgo label filter flag to hypershift-e2e-v2-chain.yaml. No code changes introduce process-level stdout writes or OTE contract violations.
Ipv6 And Disconnected Network Test Compatibility ✅ Passed PR does not add new Ginkgo e2e tests; it only modifies CI configuration to filter test execution via Ginkgo labels. The check applies only when new tests are added.

✏️ 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 requested review from csrwng and enxebre May 20, 2026 22:34
@openshift-ci openshift-ci Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 20, 2026
Add --ginkgo.label-filter to the hypershift-e2e-v2 chain to exclude
etcd-chaos, nodepool-lifecycle, nodepool-autoscaling, and
control-plane-upgrade tests. These are long-running lifecycle tests
that require dedicated HA clusters and longer timeouts. They have
their own dedicated CI job (e2e-azure-v2-self-managed).

Without this filter, the e2e-v2-aws and e2e-v2-gke jobs run all 716
specs, causing etcd chaos tests to fail on single-replica clusters
and lifecycle tests to exceed the 30-minute job timeout.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@bryan-cox bryan-cox changed the title CNTRLPLANE-3222: exclude lifecycle tests from general v2 e2e jobs CNTRLPLANE-3222: exclude lifecycle-labeled tests from general v2 e2e jobs May 21, 2026
@openshift-merge-bot
Copy link
Copy Markdown
Contributor

[REHEARSALNOTIFIER]
@bryan-cox: 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-hypershift-main-e2e-v2-aws openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.1-e2e-v2-aws openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.0-e2e-v2-aws openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.23-e2e-v2-aws openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.22-e2e-v2-aws openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-main-e2e-v2-gke openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.1-e2e-v2-gke openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-5.0-e2e-v2-gke openshift/hypershift presubmit Registry content changed
pull-ci-openshift-hypershift-release-4.23-e2e-v2-gke openshift/hypershift presubmit Registry content changed
periodic-ci-openshift-hypershift-release-5.0-periodics-e2e-v2-gke N/A periodic Registry content changed
periodic-ci-openshift-hypershift-release-4.23-periodics-e2e-v2-gke N/A periodic Registry content changed
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.

@cblecker
Copy link
Copy Markdown
Member

/lgtm

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

openshift-ci Bot commented May 21, 2026

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: bryan-cox, cblecker

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

@bryan-cox
Copy link
Copy Markdown
Member Author

/pj-rehearse pull-ci-openshift-hypershift-main-e2e-v2-gke

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

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

@bryan-cox
Copy link
Copy Markdown
Member Author

/pj-rehearse ack

@openshift-merge-bot
Copy link
Copy Markdown
Contributor

@bryan-cox: 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 May 21, 2026
@openshift-ci
Copy link
Copy Markdown
Contributor

openshift-ci Bot commented May 21, 2026

@bryan-cox: 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 3b6ff15 into openshift:main May 21, 2026
12 checks passed
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. rehearsals-ack Signifies that rehearsal jobs have been acknowledged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants