diff --git a/pkg/registry/core/pod/strategy.go b/pkg/registry/core/pod/strategy.go index 5b464e1503a..c92a3d0d3ed 100644 --- a/pkg/registry/core/pod/strategy.go +++ b/pkg/registry/core/pod/strategy.go @@ -754,7 +754,7 @@ func applySchedulingGatedCondition(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 e25169745b5..6813ac58ab2 100644 --- a/pkg/registry/core/pod/strategy_test.go +++ b/pkg/registry/core/pod/strategy_test.go @@ -353,7 +353,10 @@ func TestSchedulingGatedCondition(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) } })