CNTRLPLANE-3509: Remove n2/n3/n4 minor release NodePool skew e2e tests#8570
CNTRLPLANE-3509: Remove n2/n3/n4 minor release NodePool skew e2e tests#8570jparrill wants to merge 1 commit into
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@jparrill: This pull request references CNTRLPLANE-3509 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. DetailsIn response to this:
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. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository YAML (base), Central YAML (inherited) Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (3)
📝 WalkthroughWalkthroughThis PR removes test support for older minor releases (N2, N3, N4) across the e2e test infrastructure. The Options struct is updated to remove Suggested reviewers
🚥 Pre-merge checks | ✅ 12✅ Passed checks (12 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
Skipping CI for Draft Pull Request. |
|
/area ci-tooling |
|
/area testing |
The e2e-aws job defines 6+ releases (latest, initial, n1minor through n4minor). ci-operator imports them concurrently, creating CLI extraction pods in parallel. This triggers a race condition in ci-tools where pods disappear or hit UID mismatches, causing ~40-45% of e2e-aws runs to fail before any test executes. Remove the n2, n3, and n4 minor release tests because: - N4 (n-4, unsupported skew): only validates that the SupportedVersionSkew condition is set to False. This is already fully covered by TestValidateVersionSkew unit tests in support/supportedversion/version_test.go. - N3 (n-3): creates a real AWS node to validate labels/taints, but this is identical to what N1 already covers. Labels and taints depend on the NodePool spec, not the release version. - N2 (n-2): same code path as N1, just a different version number. No hypershift logic behaves differently for n-1 vs n-2. Keeping only N1 (n-1) is sufficient to validate that nodes with an older release image can provision and join the cluster. This reduces the job from 6 to 3 release imports, cutting CI time by ~15-30 min and significantly reducing exposure to the ci-tools race condition. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Signed-off-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
I have all the information needed. The root cause is clear. Test Failure Analysis CompleteJob Information
Test Failure AnalysisErrorSummaryThe gitlint check failed because the commit message title Root CauseThe commit message title uses the non-standard prefix The correct prefix for this change would be RecommendationsAmend the commit message to use a valid Conventional Commits prefix. Suggested options:
To fix: git commit --amend -m "test: remove n2/n3/n4 minor release NodePool skew tests"
git push --force-with-leaseEvidence
|
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: jparrill The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #8570 +/- ##
=======================================
Coverage 40.40% 40.40%
=======================================
Files 755 755
Lines 93235 93235
=======================================
Hits 37675 37675
Misses 52858 52858
Partials 2702 2702
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
Summary
TestNodePoolPrevReleaseN2,TestNodePoolPrevReleaseN3, andTestNodePoolPrevReleaseN4e2e test cases along with their CLI flags and option fieldsTestNodePoolPrevReleaseN1(n-1) as the single e2e validation for NodePool version skewWhy
The
e2e-awsjob defines 6+ releases (latest,initial,n1minorthroughn4minor). ci-operator imports them concurrently, creating CLI extraction pods in parallel. This triggers a race condition inopenshift/ci-tools(pkg/steps/release/import_release.go) where pods disappear or hit UID mismatches before their termination messages can be read. This accounts for ~40-45% of all e2e-aws failures — tests never even execute.The removed tests are either redundant or already covered by unit tests:
False. Already covered byTestValidateVersionSkewinsupport/supportedversion/version_test.goImpact
A companion PR in
openshift/releasewill remove the correspondingn2minor,n3minor, andn4minorrelease definitions and dependencies.Jira: https://issues.redhat.com/browse/CNTRLPLANE-3509
Test plan
go build ./test/e2e/...compilesTestValidateVersionSkewunit tests pass (21 cases covering n-3 boundary and n-4 rejection)🤖 Generated with Claude Code
Summary by CodeRabbit