Skip to content

Commit 78bf9af

Browse files
committed
next
Signed-off-by: Andreas Karis <[email protected]>
1 parent 9bec17c commit 78bf9af

File tree

4 files changed

+32
-33
lines changed

4 files changed

+32
-33
lines changed

apis/v1alpha1/config_types.go

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ package v1alpha1
1818

1919
import (
2020
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
21-
"k8s.io/utils/ptr"
2221
)
2322

2423
// +genclient
@@ -127,30 +126,3 @@ type ConfigComponentStatuses struct {
127126
// +optional
128127
Scc *ConfigComponentStatus `json:"scc,omitempty"`
129128
}
130-
131-
// Equals compares two ConfigComponentStatuses instances for equality.
132-
func (ccs ConfigComponentStatuses) Equals(c ConfigComponentStatuses) bool {
133-
return ptr.Equal(ccs.ConfigMap, c.ConfigMap) &&
134-
ptr.Equal(ccs.DaemonSet, c.DaemonSet) &&
135-
ptr.Equal(ccs.MetricsProxyDaemonSet, c.MetricsProxyDaemonSet) &&
136-
ptr.Equal(ccs.CsiDriver, c.CsiDriver) &&
137-
ptr.Equal(ccs.Scc, c.Scc)
138-
}
139-
140-
// AnyComponentProgressing returns true if any component is in the Progressing state.
141-
func (ccs ConfigComponentStatuses) AnyComponentProgressing(isOpenShift bool) bool {
142-
return ccs.ConfigMap != nil && *ccs.ConfigMap == ConfigStatusProgressing ||
143-
ccs.DaemonSet != nil && *ccs.DaemonSet == ConfigStatusProgressing ||
144-
ccs.MetricsProxyDaemonSet != nil && *ccs.MetricsProxyDaemonSet == ConfigStatusProgressing ||
145-
ccs.CsiDriver != nil && *ccs.CsiDriver == ConfigStatusProgressing ||
146-
(isOpenShift && ccs.Scc != nil && *ccs.Scc == ConfigStatusProgressing)
147-
}
148-
149-
// AllComponentsReady returns true if all components are in the Ready state.
150-
func (ccs ConfigComponentStatuses) AllComponentsReady(isOpenShift bool) bool {
151-
return ccs.ConfigMap != nil && *ccs.ConfigMap == ConfigStatusReady &&
152-
ccs.DaemonSet != nil && *ccs.DaemonSet == ConfigStatusReady &&
153-
ccs.MetricsProxyDaemonSet != nil && *ccs.MetricsProxyDaemonSet == ConfigStatusReady &&
154-
ccs.CsiDriver != nil && *ccs.CsiDriver == ConfigStatusReady &&
155-
(!isOpenShift || ccs.Scc != nil && *ccs.Scc == ConfigStatusReady)
156-
}

controllers/bpfman-operator/config.go

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ func (r *BpfmanConfigReconciler) setStatusConditions(ctx context.Context, config
288288
}
289289

290290
// If none of the components changed, do not update anything for the status.
291-
if config.Status.Components != nil && statuses.Equals(*config.Status.Components) {
291+
if config.Status.Components != nil && ccsEquals(statuses, *config.Status.Components) {
292292
return nil
293293
}
294294

@@ -297,7 +297,7 @@ func (r *BpfmanConfigReconciler) setStatusConditions(ctx context.Context, config
297297

298298
// Set conditions, next.
299299
switch {
300-
case statuses.AnyComponentProgressing(r.IsOpenshift):
300+
case ccsAnyComponentProgressing(statuses, r.IsOpenshift):
301301
meta.SetStatusCondition(&config.Status.Conditions, metav1.Condition{
302302
Type: internal.ConfigConditionProgressing,
303303
Status: metav1.ConditionTrue,
@@ -311,7 +311,7 @@ func (r *BpfmanConfigReconciler) setStatusConditions(ctx context.Context, config
311311
Message: internal.ConfigMessageProgressing,
312312
})
313313
r.Recorder.Event(config, "Normal", internal.ConfigReasonProgressing, internal.ConfigMessageProgressing)
314-
case statuses.AllComponentsReady(r.IsOpenshift):
314+
case ccsAllComponentsReady(statuses, r.IsOpenshift):
315315
meta.SetStatusCondition(&config.Status.Conditions, metav1.Condition{
316316
Type: internal.ConfigConditionProgressing,
317317
Status: metav1.ConditionFalse,
@@ -604,3 +604,30 @@ func healthProbeAddress(healthProbePort int) string {
604604
}
605605
return fmt.Sprintf(":%d", healthProbePort)
606606
}
607+
608+
// ccsEquals compares two ConfigComponentStatuses instances for equality.
609+
func ccsEquals(ccs, c v1alpha1.ConfigComponentStatuses) bool {
610+
return ptr.Equal(ccs.ConfigMap, c.ConfigMap) &&
611+
ptr.Equal(ccs.DaemonSet, c.DaemonSet) &&
612+
ptr.Equal(ccs.MetricsProxyDaemonSet, c.MetricsProxyDaemonSet) &&
613+
ptr.Equal(ccs.CsiDriver, c.CsiDriver) &&
614+
ptr.Equal(ccs.Scc, c.Scc)
615+
}
616+
617+
// ccsAnyComponentProgressing returns true if any component is in the Progressing state.
618+
func ccsAnyComponentProgressing(ccs v1alpha1.ConfigComponentStatuses, isOpenShift bool) bool {
619+
return ccs.ConfigMap != nil && *ccs.ConfigMap == v1alpha1.ConfigStatusProgressing ||
620+
ccs.DaemonSet != nil && *ccs.DaemonSet == v1alpha1.ConfigStatusProgressing ||
621+
ccs.MetricsProxyDaemonSet != nil && *ccs.MetricsProxyDaemonSet == v1alpha1.ConfigStatusProgressing ||
622+
ccs.CsiDriver != nil && *ccs.CsiDriver == v1alpha1.ConfigStatusProgressing ||
623+
(isOpenShift && ccs.Scc != nil && *ccs.Scc == v1alpha1.ConfigStatusProgressing)
624+
}
625+
626+
// ccsAllComponentsReady returns true if all components are in the Ready state.
627+
func ccsAllComponentsReady(ccs v1alpha1.ConfigComponentStatuses, isOpenShift bool) bool {
628+
return ccs.ConfigMap != nil && *ccs.ConfigMap == v1alpha1.ConfigStatusReady &&
629+
ccs.DaemonSet != nil && *ccs.DaemonSet == v1alpha1.ConfigStatusReady &&
630+
ccs.MetricsProxyDaemonSet != nil && *ccs.MetricsProxyDaemonSet == v1alpha1.ConfigStatusReady &&
631+
ccs.CsiDriver != nil && *ccs.CsiDriver == v1alpha1.ConfigStatusReady &&
632+
(!isOpenShift || ccs.Scc != nil && *ccs.Scc == v1alpha1.ConfigStatusReady)
633+
}

controllers/bpfman-operator/config_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ func testStatusSet(ctx context.Context, cl client.Client, configName string, isO
699699
}
700700

701701
if bpfmanConfig.Status.Components == nil ||
702-
!bpfmanConfig.Status.Components.Equals(expectedComponentStatuses) {
702+
!ccsEquals(*bpfmanConfig.Status.Components, expectedComponentStatuses) {
703703
got := fmt.Sprintf("%v", bpfmanConfig.Status.Components)
704704
want := fmt.Sprintf("%v", expectedComponentStatuses)
705705
if b, err := json.Marshal(bpfmanConfig.Status.Components); err == nil {

test/lifecycle/lifecycle_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -804,6 +804,6 @@ func waitForAvailable(ctx context.Context, isOpenShift bool) error {
804804
if !testutil.ContainsCondition(bpfmanConfig.Status.Conditions, availableCondition) {
805805
return false, nil
806806
}
807-
return bpfmanConfig.Status.Components != nil && bpfmanConfig.Status.Components.AllComponentsReady(isOpenShift), nil
807+
return bpfmanConfig.Status.Components != nil && bpfmanConfig.Status.Components.CcsAllComponentsReady(isOpenShift), nil
808808
})
809809
}

0 commit comments

Comments
 (0)