Skip to content

Commit f546819

Browse files
Testing
1 parent 9374501 commit f546819

File tree

1 file changed

+17
-2
lines changed

1 file changed

+17
-2
lines changed

internal/controller/bmcversion_controller.go

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ func (r *BMCVersionReconciler) Reconcile(ctx context.Context, req ctrl.Request)
6464
if err := r.Get(ctx, req.NamespacedName, bmcVersion); err != nil {
6565
return ctrl.Result{}, client.IgnoreNotFound(err)
6666
}
67-
log.V(1).Info("Reconciling BMCVersion")
67+
log.V(1).Info("Reconciling BMCVersion", "TESTING servermaintenance refs", bmcVersion.Spec.ServerMaintenanceRefs)
6868

6969
return r.reconcileExists(ctx, log, bmcVersion)
7070
}
@@ -110,7 +110,9 @@ func (r *BMCVersionReconciler) delete(ctx context.Context, log logr.Logger, bmcV
110110
}
111111

112112
func (r *BMCVersionReconciler) cleanupServerMaintenanceReferences(ctx context.Context, log logr.Logger, bmcVersion *metalv1alpha1.BMCVersion) error {
113+
log.V(1).Info("to clean up ServerMaintenance ref")
113114
if bmcVersion.Spec.ServerMaintenanceRefs == nil {
115+
log.V(1).Info("Testing: ServerMaintenance ref is nil, nothing to clean up")
114116
return nil
115117
}
116118
// try to get the serverMaintenances created
@@ -129,6 +131,7 @@ func (r *BMCVersionReconciler) cleanupServerMaintenanceReferences(ctx context.Co
129131
}
130132
}
131133

134+
providedServerMaintenance := map[string]*metalv1alpha1.ServerMaintenance{}
132135
if len(missingServerMaintenanceRef) != len(bmcVersion.Spec.ServerMaintenanceRefs) {
133136
// delete the serverMaintenance if not marked for deletion already
134137
for _, serverMaintenance := range serverMaintenances {
@@ -139,6 +142,7 @@ func (r *BMCVersionReconciler) cleanupServerMaintenanceReferences(ctx context.Co
139142
finalErr = append(finalErr, err)
140143
}
141144
} else {
145+
providedServerMaintenance[serverMaintenance.Name] = serverMaintenance
142146
log.V(1).Info(
143147
"ServerMaintenance not deleted",
144148
"ServerMaintenance", serverMaintenance.Name,
@@ -150,8 +154,19 @@ func (r *BMCVersionReconciler) cleanupServerMaintenanceReferences(ctx context.Co
150154
}
151155

152156
if len(finalErr) == 0 {
157+
var updatedRef []metalv1alpha1.ServerMaintenanceRefItem
158+
if len(providedServerMaintenance) == 0 {
159+
updatedRef = nil
160+
} else {
161+
updatedRef = make([]metalv1alpha1.ServerMaintenanceRefItem, 0, len(providedServerMaintenance))
162+
for _, refs := range bmcVersion.Spec.ServerMaintenanceRefs {
163+
if _, ok := providedServerMaintenance[refs.ServerMaintenanceRef.Name]; ok {
164+
updatedRef = append(updatedRef, refs)
165+
}
166+
}
167+
}
153168
// all serverMaintenance are deleted
154-
err := r.patchMaintenanceRequestRefOnBMCVersion(ctx, log, bmcVersion, nil)
169+
err := r.patchMaintenanceRequestRefOnBMCVersion(ctx, log, bmcVersion, updatedRef)
155170
if err != nil {
156171
return fmt.Errorf("failed to clean up serverMaintenance ref in bmcVersion status: %w", err)
157172
}

0 commit comments

Comments
 (0)