OCPBUGS-113991: Scope forced NodePool cleanup to the target cluster - #9398
Conversation
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
Skipping CI for Draft Pull Request. |
|
@bryan-cox: This pull request references CNTRLPLANE-3943 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 either version "5.1.0." or "openshift-5.1.0.", but it targets "openshift-5.0" instead. 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 (1)
Included review availability: Your plan provides up to 12 included reviews per hour; 10 remain after this review. 📝 WalkthroughWalkthroughForce cleanup now lists NodePools and removes finalizers only when 🚥 Pre-merge checks | ✅ 10 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (10 passed)
Full details: Stable And Deterministic Test NamesExplanation The pull request adds one subtest title: "When NodePools belong to different HostedClusters, it should only strip finalizers from matching NodePools". The title is a static descriptive string. It contains no generated names, timestamps, UUIDs, node names, namespaces with random suffixes, IP addresses, or dynamic string construction. The changed test data places identifiers only in the test body. Full details: Test Structure And QualityExplanation The added Gomega regression test uses assertions without meaningful failure messages. In Full details: Topology-Aware Scheduling CompatibilityExplanation PASS: The pull request changes Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS: The pull request adds standard Go unit tests with Full details: No-Weak-CryptoExplanation PASS: The PR changes only NodePool finalizer filtering and related tests. The complete diff adds no MD5, SHA1, DES, 3DES, RC4, Blowfish, ECB, custom crypto, or secret/token comparison code. The changed source imports no crypto packages. Full details: Container-PrivilegesExplanation PASS. The pull request changes only Full details: No-Sensitive-Data-In-LogsExplanation PASS: The implementation changes only NodePool filtering. The new log records the resource type, namespace, and matching-resource count. It does not record passwords, tokens, API keys, PII, session IDs, hostnames, or customer data. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
Only strip finalizers from NodePools belonging to the HostedCluster being destroyed. Preserve unrelated NodePools in the shared HostedCluster namespace. Commit-Message-Assisted-by: Claude (via Claude Code) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Signed-off-by: Bryan Cox <brcox@redhat.com>
f0ad3e0 to
31bbae2
Compare
|
@bryan-cox: This pull request references Jira Issue OCPBUGS-113991, which is invalid:
Comment The bug has been updated to refer to the pull request using the external bug tracker. 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. |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9398 +/- ##
=======================================
Coverage 46.18% 46.18%
=======================================
Files 783 783
Lines 98429 98448 +19
=======================================
+ Hits 45455 45466 +11
- Misses 49896 49902 +6
- Partials 3078 3080 +2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
|
/jira refresh |
|
@bryan-cox: This pull request references Jira Issue OCPBUGS-113991, which is valid. The bug has been moved to the POST state. 3 validation(s) were run on this bug
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. |
|
Scheduling tests matching the |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: bryan-cox, csrwng 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 |
|
/verified by UT |
|
@bryan-cox: This PR has been marked as verified by 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. |
|
/test e2e-aks |
Test Resultse2e-aks
e2e-aws
|
|
/override ci/prow/e2e-v2-azure-self-managed The Azure deprovisioner is causing issues without this. |
|
/verified by e2es passing |
|
@bryan-cox: Overrode contexts on behalf of bryan-cox: ci/prow/e2e-v2-azure-self-managed 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 kubernetes-sigs/prow repository. |
|
@bryan-cox: This PR has been marked as verified by 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. |
|
/override ci/prow/e2e-v2-azure-self-managed |
|
@bryan-cox: Overrode contexts on behalf of bryan-cox: ci/prow/e2e-v2-azure-self-managed 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 kubernetes-sigs/prow repository. |
|
@bryan-cox: all tests passed! Full PR test history. Your PR dashboard. DetailsInstructions 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. |
|
@bryan-cox: Jira Issue Verification Checks: Jira Issue OCPBUGS-113991 Jira Issue OCPBUGS-113991 has been moved to the MODIFIED state and will move to the VERIFIED state when the change is available in an accepted nightly payload. 🕓 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. |
|
Fix included in release 5.1.0-0.nightly-2026-08-27-012048 |
What this PR does / why we need it:
Limits
hypershift destroy cluster --forcefinalizer removal to NodePools whosespec.clusterNamematches the HostedCluster being destroyed.Previously, force cleanup listed every NodePool in the shared HostedCluster namespace and stripped finalizers from all of them. This was observed in the Azure deprovisioner rehearsal, which processed 186 NodePools and modified NodePools belonging to unrelated HostedClusters.
Which issue(s) this PR fixes:
Fixes OCPBUGS-113991.
Special notes for your reviewer:
The regression test includes a NodePool owned by another HostedCluster and verifies that its finalizer remains intact.
Validation:
GO111MODULE=on GOWORK=off GOFLAGS=-mod=vendor go test -race ./cmd/cluster/core/... ./cmd/cluster/azure/...make run-gitlintChecklist:
Always review AI generated responses prior to use.
Generated with Claude Code via openshift-developer plugin