Break out of inner loop when newQuantity is negative

This commit is contained in:
Ted Yu 2019-07-12 09:40:19 -07:00 committed by Ted Yu
parent 22b6c69983
commit 0ec1f85b47

View File

@ -189,11 +189,10 @@ func (a admissionRequirementList) distance(pod *v1.Pod) float64 {
dist := float64(0) dist := float64(0)
for _, req := range a { for _, req := range a {
remainingRequest := float64(req.quantity - resource.GetResourceRequest(pod, req.resourceName)) remainingRequest := float64(req.quantity - resource.GetResourceRequest(pod, req.resourceName))
if remainingRequest < 0 { if remainingRequest > 0 {
remainingRequest = 0
}
dist += math.Pow(remainingRequest/float64(req.quantity), 2) dist += math.Pow(remainingRequest/float64(req.quantity), 2)
} }
}
return dist return dist
} }
@ -205,6 +204,9 @@ func (a admissionRequirementList) subtract(pods ...*v1.Pod) admissionRequirement
newQuantity := req.quantity newQuantity := req.quantity
for _, pod := range pods { for _, pod := range pods {
newQuantity -= resource.GetResourceRequest(pod, req.resourceName) newQuantity -= resource.GetResourceRequest(pod, req.resourceName)
if newQuantity <= 0 {
break
}
} }
if newQuantity > 0 { if newQuantity > 0 {
newList = append(newList, &admissionRequirement{ newList = append(newList, &admissionRequirement{