Merge pull request #77686 from tedyu/preempt-qty

Break out of inner loop when newQuantity is negative in admissionRequirementList#subtract
This commit is contained in:
Kubernetes Prow Robot 2019-07-15 14:53:37 -07:00 committed by GitHub
commit 7c90f7d96c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -191,10 +191,9 @@ 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
} }
@ -207,6 +206,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{