cluster-autoscaler: avoid goto in filterNodeGroupsByPods

This commit is contained in:
Michael Grosser 2022-08-11 10:30:44 -07:00
parent 226784a223
commit 87dba05278
No known key found for this signature in database
GPG Key ID: B19DB1587D698ED7
1 changed files with 11 additions and 8 deletions

View File

@ -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
}