@@ -24,6 +24,7 @@ import (
2424 apierrors "k8s.io/apimachinery/pkg/api/errors"
2525 "k8s.io/apimachinery/pkg/api/meta"
2626 metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
27+ "k8s.io/apimachinery/pkg/conversion"
2728 "k8s.io/apimachinery/pkg/labels"
2829 "k8s.io/apimachinery/pkg/types"
2930 "k8s.io/apimachinery/pkg/util/sets"
@@ -420,6 +421,15 @@ func getSupportedKinds(listener gatewayv1.Listener) ([]gatewayv1.RouteGroupKind,
420421
421422 return supportedKinds , allKindsValid
422423}
424+
425+ var semanticIgnoreLastTransitionTime = conversion .EqualitiesOrDie (
426+ func (a , b metav1.Condition ) bool {
427+ a .LastTransitionTime = metav1.Time {}
428+ b .LastTransitionTime = metav1.Time {}
429+ return a == b
430+ },
431+ )
432+
423433func (c * Controller ) updateRouteStatuses (
424434 ctx context.Context ,
425435 httpRouteStatuses map [types.NamespacedName ][]gatewayv1.RouteParentStatus ,
@@ -444,7 +454,7 @@ func (c *Controller) updateRouteStatuses(
444454 routeToUpdate .Status .Parents = desiredParentStatuses
445455
446456 // Only make an API call if the status has actually changed.
447- if ! reflect .DeepEqual (originalRoute .Status , routeToUpdate .Status ) {
457+ if ! semanticIgnoreLastTransitionTime .DeepEqual (originalRoute .Status , routeToUpdate .Status ) {
448458 _ , updateErr := c .gwClient .GatewayV1 ().HTTPRoutes (routeToUpdate .Namespace ).UpdateStatus (ctx , routeToUpdate , metav1.UpdateOptions {})
449459 return updateErr
450460 }
0 commit comments