diff --git a/internal/controller/authenticator/jwtcachefiller/jwtcachefiller.go b/internal/controller/authenticator/jwtcachefiller/jwtcachefiller.go index 64ec4ffc1..a84ad931d 100644 --- a/internal/controller/authenticator/jwtcachefiller/jwtcachefiller.go +++ b/internal/controller/authenticator/jwtcachefiller/jwtcachefiller.go @@ -735,10 +735,10 @@ func (c *jwtCacheFillerController) updateStatus( _ = conditionsutil.MergeConditions( conditions, - original.Generation, &updated.Status.Conditions, - logger, + original.Generation, metav1.NewTime(c.clock.Now()), + logger, ) if equality.Semantic.DeepEqual(original, updated) { diff --git a/internal/controller/authenticator/webhookcachefiller/webhookcachefiller.go b/internal/controller/authenticator/webhookcachefiller/webhookcachefiller.go index f80dad113..eacddfc4c 100644 --- a/internal/controller/authenticator/webhookcachefiller/webhookcachefiller.go +++ b/internal/controller/authenticator/webhookcachefiller/webhookcachefiller.go @@ -527,10 +527,10 @@ func (c *webhookCacheFillerController) updateStatus( _ = conditionsutil.MergeConditions( conditions, - original.Generation, &updated.Status.Conditions, - logger, + original.Generation, metav1.NewTime(c.clock.Now()), + logger, ) if equality.Semantic.DeepEqual(original, updated) { diff --git a/internal/controller/conditionsutil/conditions_util.go b/internal/controller/conditionsutil/conditions_util.go index fc90c3986..436f4ac81 100644 --- a/internal/controller/conditionsutil/conditions_util.go +++ b/internal/controller/conditionsutil/conditions_util.go @@ -24,22 +24,27 @@ const ( ) // MergeConditions merges conditions into conditionsToUpdate. -// Note that LastTransitionTime refers to the time when the status changed, -// but ObservedGeneration should be the current generation for all conditions, since Pinniped should always check every condition. +// Note that lastTransitionTime refers to the time when the status changed, +// but observedGeneration should be the current generation for all conditions, +// since Pinniped should always check every condition. // It returns true if any resulting condition has non-true status. func MergeConditions( conditions []*metav1.Condition, - observedGeneration int64, conditionsToUpdate *[]metav1.Condition, - log plog.MinLogger, + observedGeneration int64, lastTransitionTime metav1.Time, + log plog.MinLogger, ) bool { for i := range conditions { cond := conditions[i].DeepCopy() cond.LastTransitionTime = lastTransitionTime cond.ObservedGeneration = observedGeneration if mergeCondition(conditionsToUpdate, cond) { - log.Info("updated condition", "type", cond.Type, "status", cond.Status, "reason", cond.Reason, "message", cond.Message) + log.Info("updated condition", + "type", cond.Type, + "status", cond.Status, + "reason", cond.Reason, + "message", cond.Message) } } sort.SliceStable(*conditionsToUpdate, func(i, j int) bool { diff --git a/internal/controller/conditionsutil/conditions_util_test.go b/internal/controller/conditionsutil/conditions_util_test.go index ceb4aee53..b3c473287 100644 --- a/internal/controller/conditionsutil/conditions_util_test.go +++ b/internal/controller/conditionsutil/conditions_util_test.go @@ -172,10 +172,10 @@ func TestMergeIDPConditions(t *testing.T) { result := MergeConditions( tt.newConditions, - tt.observedGeneration, tt.conditionsToUpdate, - logger, + tt.observedGeneration, testTime, + logger, ) logString := log.String() diff --git a/internal/controller/supervisorconfig/activedirectoryupstreamwatcher/active_directory_upstream_watcher.go b/internal/controller/supervisorconfig/activedirectoryupstreamwatcher/active_directory_upstream_watcher.go index 0026126be..4511b8407 100644 --- a/internal/controller/supervisorconfig/activedirectoryupstreamwatcher/active_directory_upstream_watcher.go +++ b/internal/controller/supervisorconfig/activedirectoryupstreamwatcher/active_directory_upstream_watcher.go @@ -382,7 +382,13 @@ func (c *activeDirectoryWatcherController) updateStatus(ctx context.Context, ups log := plog.WithValues("namespace", upstream.Namespace, "name", upstream.Name) updated := upstream.DeepCopy() - hadErrorCondition := conditionsutil.MergeConditions(conditions, upstream.Generation, &updated.Status.Conditions, log, metav1.Now()) + hadErrorCondition := conditionsutil.MergeConditions( + conditions, + &updated.Status.Conditions, + upstream.Generation, + metav1.Now(), + log, + ) updated.Status.Phase = idpv1alpha1.ActiveDirectoryPhaseReady if hadErrorCondition { diff --git a/internal/controller/supervisorconfig/federation_domain_watcher.go b/internal/controller/supervisorconfig/federation_domain_watcher.go index 715b2b36f..8d60306c3 100644 --- a/internal/controller/supervisorconfig/federation_domain_watcher.go +++ b/internal/controller/supervisorconfig/federation_domain_watcher.go @@ -829,8 +829,13 @@ func (c *federationDomainWatcherController) updateStatus( }) } - _ = conditionsutil.MergeConditions(conditions, - federationDomain.Generation, &updated.Status.Conditions, plog.New().WithName(controllerName), metav1.NewTime(c.clock.Now())) + _ = conditionsutil.MergeConditions( + conditions, + &updated.Status.Conditions, + federationDomain.Generation, + metav1.NewTime(c.clock.Now()), + plog.New().WithName(controllerName), + ) if equality.Semantic.DeepEqual(federationDomain, updated) { return nil diff --git a/internal/controller/supervisorconfig/githubupstreamwatcher/github_upstream_watcher.go b/internal/controller/supervisorconfig/githubupstreamwatcher/github_upstream_watcher.go index 1f8236cac..e90c1fc66 100644 --- a/internal/controller/supervisorconfig/githubupstreamwatcher/github_upstream_watcher.go +++ b/internal/controller/supervisorconfig/githubupstreamwatcher/github_upstream_watcher.go @@ -569,10 +569,10 @@ func (c *gitHubWatcherController) updateStatus( hadErrorCondition := conditionsutil.MergeConditions( conditions, - upstream.Generation, &updated.Status.Conditions, - log, + upstream.Generation, metav1.NewTime(c.clock.Now()), + log, ) updated.Status.Phase = idpv1alpha1.GitHubPhaseReady diff --git a/internal/controller/supervisorconfig/ldapupstreamwatcher/ldap_upstream_watcher.go b/internal/controller/supervisorconfig/ldapupstreamwatcher/ldap_upstream_watcher.go index f97fa77a9..5c8c23b9f 100644 --- a/internal/controller/supervisorconfig/ldapupstreamwatcher/ldap_upstream_watcher.go +++ b/internal/controller/supervisorconfig/ldapupstreamwatcher/ldap_upstream_watcher.go @@ -268,7 +268,13 @@ func (c *ldapWatcherController) updateStatus(ctx context.Context, upstream *idpv log := plog.WithValues("namespace", upstream.Namespace, "name", upstream.Name) updated := upstream.DeepCopy() - hadErrorCondition := conditionsutil.MergeConditions(conditions, upstream.Generation, &updated.Status.Conditions, log, metav1.Now()) + hadErrorCondition := conditionsutil.MergeConditions( + conditions, + &updated.Status.Conditions, + upstream.Generation, + metav1.Now(), + log, + ) updated.Status.Phase = idpv1alpha1.LDAPPhaseReady if hadErrorCondition { diff --git a/internal/controller/supervisorconfig/oidcclientwatcher/oidc_client_watcher.go b/internal/controller/supervisorconfig/oidcclientwatcher/oidc_client_watcher.go index 4086f3532..a9573ba42 100644 --- a/internal/controller/supervisorconfig/oidcclientwatcher/oidc_client_watcher.go +++ b/internal/controller/supervisorconfig/oidcclientwatcher/oidc_client_watcher.go @@ -133,8 +133,13 @@ func (c *oidcClientWatcherController) updateStatus( ) error { updated := upstream.DeepCopy() - hadErrorCondition := conditionsutil.MergeConditions(conditions, - upstream.Generation, &updated.Status.Conditions, plog.New(), metav1.Now()) + hadErrorCondition := conditionsutil.MergeConditions( + conditions, + &updated.Status.Conditions, + upstream.Generation, + metav1.Now(), + plog.New(), + ) updated.Status.Phase = supervisorconfigv1alpha1.OIDCClientPhaseReady if hadErrorCondition { diff --git a/internal/controller/supervisorconfig/oidcupstreamwatcher/oidc_upstream_watcher.go b/internal/controller/supervisorconfig/oidcupstreamwatcher/oidc_upstream_watcher.go index 3c01188e8..e6ab2f448 100644 --- a/internal/controller/supervisorconfig/oidcupstreamwatcher/oidc_upstream_watcher.go +++ b/internal/controller/supervisorconfig/oidcupstreamwatcher/oidc_upstream_watcher.go @@ -460,7 +460,13 @@ func (c *oidcWatcherController) updateStatus( log := c.log.WithValues("namespace", upstream.Namespace, "name", upstream.Name) updated := upstream.DeepCopy() - hadErrorCondition := conditionsutil.MergeConditions(conditions, upstream.Generation, &updated.Status.Conditions, log, metav1.Now()) + hadErrorCondition := conditionsutil.MergeConditions( + conditions, + &updated.Status.Conditions, + upstream.Generation, + metav1.Now(), + log, + ) updated.Status.Phase = idpv1alpha1.PhaseReady if hadErrorCondition {