From bbcb4ee690f689e79c2dc5d1fb812f1b0fa3b600 Mon Sep 17 00:00:00 2001 From: lianghao208 Date: Mon, 8 Jan 2024 12:24:09 +0800 Subject: [PATCH] fix null lastTransitionTime in pod condition when setting scheduling gate --- pkg/registry/core/pod/strategy.go | 2 +- pkg/registry/core/pod/strategy_test.go | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/pkg/registry/core/pod/strategy.go b/pkg/registry/core/pod/strategy.go index c34568abd22..98f0658fd9b 100644 --- a/pkg/registry/core/pod/strategy.go +++ b/pkg/registry/core/pod/strategy.go @@ -752,7 +752,7 @@ func applyWaitingForSchedulingGatesCondition(pod *api.Pod) { } } - pod.Status.Conditions = append(pod.Status.Conditions, api.PodCondition{ + podutil.UpdatePodCondition(&pod.Status, &api.PodCondition{ Type: api.PodScheduled, Status: api.ConditionFalse, Reason: apiv1.PodReasonSchedulingGated, diff --git a/pkg/registry/core/pod/strategy_test.go b/pkg/registry/core/pod/strategy_test.go index 6317af86da6..6396ff909cd 100644 --- a/pkg/registry/core/pod/strategy_test.go +++ b/pkg/registry/core/pod/strategy_test.go @@ -371,7 +371,10 @@ func TestWaitingForGatesCondition(t *testing.T) { } } - if diff := cmp.Diff(tt.want, got); diff != "" { + if got.LastTransitionTime.IsZero() && got.Type != "" { + t.Errorf("unexpected empty LastTransitionTime in condition") + } + if diff := cmp.Diff(tt.want, got, cmpopts.IgnoreFields(api.PodCondition{}, "LastTransitionTime")); diff != "" { t.Errorf("unexpected field errors (-want, +got):\n%s", diff) } })