diff --git a/plugins/kubernetes/app/models/kubernetes/resource_status.rb b/plugins/kubernetes/app/models/kubernetes/resource_status.rb index d0a6a09cb..9c27ece01 100644 --- a/plugins/kubernetes/app/models/kubernetes/resource_status.rb +++ b/plugins/kubernetes/app/models/kubernetes/resource_status.rb @@ -26,6 +26,11 @@ class ResourceStatus Service: [ "FailedToUpdateEndpointSlices" ], + StatefulSet: [ + # Regression from k8s 1.27: https://github.com/kubernetes/kubernetes/pull/115331 + # Pending backport in: https://github.com/kubernetes/kubernetes/pull/121921 + "RecreatingFailedPod" + ], # karmada can fail to sync a resource when something else also updated the resource, # this does not necessarily indicate that sync will be broken forever All: [ diff --git a/plugins/kubernetes/test/models/kubernetes/resource_status_test.rb b/plugins/kubernetes/test/models/kubernetes/resource_status_test.rb index 640532e74..e30c2e48d 100644 --- a/plugins/kubernetes/test/models/kubernetes/resource_status_test.rb +++ b/plugins/kubernetes/test/models/kubernetes/resource_status_test.rb @@ -90,6 +90,12 @@ def expect_event_request(&block) expect_event_request { details.must_equal "Live" } end + it "ignores known bad events for statefulset" do + resource[:kind] = "StatefulSet" + events[0].merge!(type: "Warning", reason: "RecreatingFailedPod") + expect_event_request { details.must_equal "Live" } + end + describe "with bad event" do before { events[0].merge!(type: "Warning", reason: "Boom") }