Skip to content

Commit

Permalink
cluster-autoscaler: avoid goto in filterNodeGroupsByPods
Browse files Browse the repository at this point in the history
  • Loading branch information
grosser committed Aug 11, 2022
1 parent 226784a commit 87dba05
Showing 1 changed file with 11 additions and 8 deletions.
19 changes: 11 additions & 8 deletions cluster-autoscaler/core/scale_up.go
Original file line number Diff line number Diff line change
Expand Up @@ -664,26 +664,29 @@ func filterNodeGroupsByPods(

result := make([]cloudprovider.NodeGroup, 0)

groupsloop:
for _, group := range groups {
option, found := expansionOptions[group.Id()]
if !found {
klog.V(1).Infof("No info about pods passing predicates found for group %v, skipping it from scale-up consideration", group.Id())
continue
}
fittingPods := option.Pods
podSet := make(map[*apiv1.Pod]bool, len(fittingPods))
for _, pod := range fittingPods {
podSet[pod] = true
fittingPods := make(map[*apiv1.Pod]bool, len(option.Pods))
for _, pod := range option.Pods {
fittingPods[pod] = true
}
allFit := true
for _, pod := range podsRequiredToFit {
if _, found := podSet[pod]; !found {
if _, found := fittingPods[pod]; !found {
klog.V(1).Infof("Group %v, can't fit pod %v/%v, removing from scale-up consideration", group.Id(), pod.Namespace, pod.Name)
continue groupsloop
allFit = false
break
}
}
result = append(result, group)
if allFit {
result = append(result, group)
}
}

return result
}

Expand Down

0 comments on commit 87dba05

Please sign in to comment.