Skip to content

Commit 467eed8

Browse files
authored
Merge pull request #12871 from steffen-karlsson/fix-issue-12860
2 parents 739ca11 + 28c7aaf commit 467eed8

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

internal/controllers/machinedeployment/machinedeployment_controller.go

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -488,22 +488,20 @@ func (r *Reconciler) getAndAdoptMachineSetsForDeployment(ctx context.Context, s
488488
return err
489489
}
490490

491+
selector, err := metav1.LabelSelectorAsSelector(&md.Spec.Selector)
492+
if err != nil {
493+
return errors.Wrapf(err, "failed to get MachineSets: failed to compute label selector from MachineDeployment.spec.selector")
494+
}
495+
496+
if selector.Empty() {
497+
return errors.New("failed to get MachineSets: label selector computed from MachineDeployment.spec.selector is empty")
498+
}
499+
491500
filtered := make([]*clusterv1.MachineSet, 0, len(machineSets.Items))
492501
for idx := range machineSets.Items {
493502
ms := &machineSets.Items[idx]
494503
log := log.WithValues("MachineSet", klog.KObj(ms))
495504
ctx := ctrl.LoggerInto(ctx, log)
496-
selector, err := metav1.LabelSelectorAsSelector(&md.Spec.Selector)
497-
if err != nil {
498-
log.Error(err, "Skipping MachineSet, failed to get label selector from spec selector")
499-
continue
500-
}
501-
502-
// If a MachineDeployment with a nil or empty selector creeps in, it should match nothing, not everything.
503-
if selector.Empty() {
504-
log.Info("Skipping MachineSet as the selector is empty")
505-
continue
506-
}
507505

508506
// Skip this MachineSet unless either selector matches or it has a controller ref pointing to this MachineDeployment
509507
if !selector.Matches(labels.Set(ms.Labels)) && !metav1.IsControlledBy(ms, md) {

0 commit comments

Comments
 (0)