fix: check errors.IsNotFound before failing DaemonSet delete in NodeAgent reconcile - #2373
fix: check errors.IsNotFound before failing DaemonSet delete in NodeAgent reconcile#2373kaovilai wants to merge 1 commit into
Conversation
…gent reconcile The DaemonSet deletion path in ReconcileNodeAgentDaemonset did not check errors.IsNotFound before treating a delete failure as a real error, unlike the adjacent Get() call and the ConfigMap deletion path in the same file, which both handle this correctly. Surfaced by e2e test flakiness where DeleteDaemonSetFailed events left the AfterEach cleanup for DPA configuration tests in a bad state. Part of openshift#2372 Signed-off-by: Tiger Kaovilai <tkaovila@redhat.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: openshift/coderabbit/.coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (1)
WalkthroughThe node agent reconciler now treats a ChangesNode agent deletion
Estimated code review effort: 1 (Trivial) | ~5 minutes Possibly related issues
🚥 Pre-merge checks | ✅ 15✅ Passed checks (15 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: kaovilai 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 |
|
@kaovilai: The following test failed, say
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. |
Summary
The DaemonSet deletion path in
ReconcileNodeAgentDaemonsetdidn't checkerrors.IsNotFound(err)before treating a delete failure as a real error — unlike the adjacentGet()call and the ConfigMap deletion path in the same file, which both handle this correctly.How this was found
Surfaced by this repo's own e2e log-analysis tooling on
ci/prow/4.23-e2e-test-awsfor PR #2206 (oadp-1.6): theAfterEachcleanup of "Configuration testing for DPA Custom Resource" hit aDeleteDaemonSetFailedevent while the velero pod was stuckPodInitializing. Confirmed to be a pre-existing bug present acrossoadp-dev/oadp-1.6/oadp-1.5/oadp-1.4(this repo tracks it via #2372, opened for all four branches; this PR addressesoadp-dev).Test plan
gofmt -lcleango build ./internal/controller/...go vet ./internal/controller/...Part of #2372
Note
Responses generated with Claude
Summary by CodeRabbit