From 7a6d58001b7d824f92601fd246b3aad9fbb9c583 Mon Sep 17 00:00:00 2001 From: Sunil Shivanand Date: Thu, 5 Jan 2023 12:56:40 +0100 Subject: [PATCH 1/2] handle event errors caused due to terminating namespaces Create events are forbidden in terminating namespaces, use info instead of error to log the failed event. Signed-off-by: Sunil Shivanand --- staging/src/k8s.io/client-go/tools/record/event.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/staging/src/k8s.io/client-go/tools/record/event.go b/staging/src/k8s.io/client-go/tools/record/event.go index 4899b362dff..8c163d8cc0d 100644 --- a/staging/src/k8s.io/client-go/tools/record/event.go +++ b/staging/src/k8s.io/client-go/tools/record/event.go @@ -276,6 +276,8 @@ func recordEvent(sink EventSink, event *v1.Event, patch []byte, updateExistingEv case *errors.StatusError: if errors.IsAlreadyExists(err) { klog.V(5).Infof("Server rejected event '%#v': '%v' (will not retry!)", event, err) + } else if errors.HasStatusCause(err, v1.NamespaceTerminatingCause) { + klog.V(5).Infof("Server rejected event '%#v': '%v' (will not retry!)", event, err) } else { klog.Errorf("Server rejected event '%#v': '%v' (will not retry!)", event, err) } From 80480f8e21572cba152a4f6f171ebb5de8c6bafb Mon Sep 17 00:00:00 2001 From: Sunil Shivanand Date: Wed, 11 Jan 2023 09:45:37 +0100 Subject: [PATCH 2/2] combine conditional checks Signed-off-by: Sunil Shivanand --- staging/src/k8s.io/client-go/tools/record/event.go | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/staging/src/k8s.io/client-go/tools/record/event.go b/staging/src/k8s.io/client-go/tools/record/event.go index 8c163d8cc0d..019e5c16c00 100644 --- a/staging/src/k8s.io/client-go/tools/record/event.go +++ b/staging/src/k8s.io/client-go/tools/record/event.go @@ -274,9 +274,7 @@ func recordEvent(sink EventSink, event *v1.Event, patch []byte, updateExistingEv klog.Errorf("Unable to construct event '%#v': '%v' (will not retry!)", event, err) return true case *errors.StatusError: - if errors.IsAlreadyExists(err) { - klog.V(5).Infof("Server rejected event '%#v': '%v' (will not retry!)", event, err) - } else if errors.HasStatusCause(err, v1.NamespaceTerminatingCause) { + if errors.IsAlreadyExists(err) || errors.HasStatusCause(err, v1.NamespaceTerminatingCause) { klog.V(5).Infof("Server rejected event '%#v': '%v' (will not retry!)", event, err) } else { klog.Errorf("Server rejected event '%#v': '%v' (will not retry!)", event, err)