Skip to content

Commit

Permalink
remove disableMachineCreate annotation from new machinesets during ro…
Browse files Browse the repository at this point in the history
…lling machine deployment reconciliation
  • Loading branch information
Patryk-Stefanski committed Nov 22, 2024
1 parent c54a51b commit 5810d7b
Showing 1 changed file with 28 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (

clusterv1 "sigs.k8s.io/cluster-api/api/v1beta1"
"sigs.k8s.io/cluster-api/internal/controllers/machinedeployment/mdutil"
"sigs.k8s.io/cluster-api/util/patch"
)

// rolloutRolling implements the logic for rolling a new MachineSet.
Expand Down Expand Up @@ -85,6 +86,11 @@ func (r *Reconciler) reconcileNewMachineSet(ctx context.Context, allMSs []*clust
return nil
}

newMS, err := r.cleanupDisableMachineCreateAnnotation(ctx, newMS)
if err != nil {
return err
}

if *(newMS.Spec.Replicas) > *(deployment.Spec.Replicas) {
// Scale down.
return r.scaleMachineSet(ctx, newMS, *(deployment.Spec.Replicas), deployment)
Expand Down Expand Up @@ -293,3 +299,25 @@ func (r *Reconciler) scaleDownOldMachineSetsForRollingUpdate(ctx context.Context

return totalScaledDown, nil
}

// cleanupDisableMachineCreateAnnotation will remove the disable machine create annotation from new MachineSets that were created during reconcileOldMachineSetsOnDelete.
func (r *Reconciler) cleanupDisableMachineCreateAnnotation(ctx context.Context, newMS *clusterv1.MachineSet) (*clusterv1.MachineSet, error) {
log := ctrl.LoggerFrom(ctx)

if newMS.Annotations != nil {
if _, ok := newMS.Annotations[clusterv1.DisableMachineCreateAnnotation]; ok {
log.V(4).Info("removing annotation on latest MachineSet to enable machine creation")
patchHelper, err := patch.NewHelper(newMS, r.Client)
if err != nil {
return nil, err
}
delete(newMS.Annotations, clusterv1.DisableMachineCreateAnnotation)
err = patchHelper.Patch(ctx, newMS)
if err != nil {
return nil, err
}
}
}

return newMS, nil
}

0 comments on commit 5810d7b

Please sign in to comment.