diff --git a/pkg/controllers/provisioning/scheduling/scheduler.go b/pkg/controllers/provisioning/scheduling/scheduler.go index 5f2f65c4a0..95e0059c24 100644 --- a/pkg/controllers/provisioning/scheduling/scheduler.go +++ b/pkg/controllers/provisioning/scheduling/scheduler.go @@ -217,6 +217,7 @@ func (s *Scheduler) Solve(ctx context.Context, pods []*corev1.Pod) Results { // Schedule to existing nodes or create a new node if errors[pod] = s.add(ctx, pod); errors[pod] == nil { + delete(errors, pod) continue } @@ -233,12 +234,7 @@ func (s *Scheduler) Solve(ctx context.Context, pods []*corev1.Pod) Results { for _, m := range s.newNodeClaims { m.FinalizeScheduling() } - // clear any nil errors, so we can know that len(PodErrors) == 0 => all pods scheduled - for k, v := range errors { - if v == nil { - delete(errors, k) - } - } + return Results{ NewNodeClaims: s.newNodeClaims, ExistingNodes: s.existingNodes,