NO-ISSUE: Use --wait=false for namespace deletion in RF teardowns - #7305
NO-ISSUE: Use --wait=false for namespace deletion in RF teardowns#7305agullon wants to merge 1 commit into
Conversation
The Remove Namespace keyword runs `oc delete namespace` during suite teardowns, blocking until all resources and finalizers are processed. On ARM with dual-stack, OVN reconciliation after a network config change saturates the CPU, causing namespace garbage collection to exceed the 5-minute RF process timeout. The killed `oc` returns rc=1, which cascades as a suite teardown failure and retroactively marks all passing tests as failed. Using --wait=false marks the namespace for deletion and returns immediately. The API server cleans up asynchronously, which is safe because test VMs are torn down after the suite completes. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> pre-commit.check-secrets: ENABLED
|
Pipeline controller notification For optional jobs, comment This repository is configured in: LGTM mode |
|
@agullon: This pull request explicitly references no jira issue. 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; 9 remain after this review. WalkthroughThe namespace removal test command now deletes namespaces without waiting for deletion completion. ChangesNamespace removal
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized teardown change is merge-ready after normal checks and review; no actionable merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.) Full details: Stable And Deterministic Test NamesExplanation PASS: The pull request changes only Full details: Test Structure And QualityExplanation PASS: This check is not applicable. The pull request changes only Full details: Microshift Test CompatibilityExplanation PASS: The pull request changes only Full details: Single Node Openshift (Sno) Test CompatibilityExplanation PASS: The pull request changes only Full details: Topology-Aware Scheduling CompatibilityExplanation PASS — The pull request changes only Full details: Ote Binary Stdout ContractExplanation PASS: The pull request changes only the Robot Framework resource Full details: Ipv6 And Disconnected Network Test CompatibilityExplanation PASS — The pull request changes only Full details: No-Weak-CryptoExplanation PASS. The PR changes only Full details: Container-PrivilegesExplanation PASS: The pull request changes only Full details: No-Sensitive-Data-In-LogsExplanation The PR changes only the ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: agullon 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 |
|
@agullon: 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. |
|
Consolidated into #7326 |
Summary
--wait=falsein theRemove NamespaceRF keyword sooc delete namespacereturns immediately instead of blocking until all finalizers are processed.Root cause: On ARM with dual-stack, OVN reconciliation after a network config change (dual-stack → single-stack) saturates the CPU. When suite teardown fires
oc delete namespaceduring this window, the namespace garbage collection — competing with OVN for CPU — exceeds the 5-minute RF process timeout inRun With Kubeconfig. The killedocprocess returns rc=1, theShould Be Equal As Integersassertion fails, and all passing tests are retroactively marked as suite teardown failures.Fix:
--wait=falsemarks the namespace for deletion and returns immediately. The API server continues cleanup asynchronously. This is safe because:Remove Namespaceuse it in teardown contexts where no subsequent test depends on the namespace being fully goneObserved in:
e2e-aws-tests-bootc-release-arm-el9, scenarioel98-lrel@dual-stack-configuration1— all 4 dual-stack tests passed but were retroactively marked failed due to suite teardown timeout.Test plan
Remove Namespacedepends on synchronous namespace deletion🤖 Generated with Claude Code
Summary by CodeRabbit