1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-28 14:41:10 +01:00

Implement sorting of nodes by usage.

This commit is contained in:
Avesh Agarwal
2017-08-11 17:44:18 -04:00
parent 256962f599
commit f69bdb905f

View File

@@ -18,6 +18,7 @@ package strategies
import (
"fmt"
"sort"
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/kubernetes/pkg/api/v1"
@@ -81,6 +82,22 @@ func LowNodeUtilization(client clientset.Interface, strategy api.ReschedulerStra
return
}
SortNodesByUsage(targetNodes)
}
func SortNodesByUsage(nodes []NodeUsageMap) {
sort.Slice(nodes, func(i, j int) bool {
var ti, tj api.Percentage
for _, vi := range nodes[i].usage {
ti += vi
}
for _, vj := range nodes[j].usage {
tj += vj
}
// To return sorted in descending order
return ti > tj
})
}
func CreateNodePodsMap(client clientset.Interface, nodes []*v1.Node) NodePodsMap {