Refactor: reorder parameters to MergeConditions

This commit is contained in:
Joshua Casey
2024-08-07 10:13:50 -05:00
parent 6207121c03
commit f798777a3b
10 changed files with 53 additions and 20 deletions

View File

@@ -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) {

View File

@@ -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) {

View File

@@ -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 {

View File

@@ -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()

View File

@@ -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 {

View File

@@ -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

View File

@@ -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

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {