1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-26 13:29:11 +01:00

Refactor low utilization strategy implementation a bit.

This commit is contained in:
Avesh Agarwal
2017-08-11 13:50:26 -04:00
parent 83d2f025be
commit b41cce684a

View File

@@ -31,24 +31,27 @@ import (
type NodeUsageMap map[*v1.Node]api.ResourceThresholds
func LowNodeUtilization(client clientset.Interface, strategy api.ReschedulerStrategy, evictionPolicyGroupVersion string, nodes []*v1.Node) {
if !strategy.Enabled {
return
}
lowNodes, otherNodes := []*v1.Node{}, []*v1.Node{}
if strategy.Enabled {
thresholds := strategy.Params.NodeResourceUtilizationThresholds.Thresholds
if thresholds != nil {
nodeUsageMap := NodeUsageMap{}
for _, node := range nodes {
nodeUsageMap[node] = NodeUtilization(client, node)
fmt.Printf("Node %#v usage: %#v\n", node.Name, nodeUsageMap[node])
if IsNodeWithLowUtilization(nodeUsageMap[node], thresholds) {
lowNodes = append(lowNodes, node)
} else {
otherNodes = append(otherNodes, node)
}
thresholds := strategy.Params.NodeResourceUtilizationThresholds.Thresholds
if thresholds != nil {
nodeUsageMap := NodeUsageMap{}
for _, node := range nodes {
nodeUsageMap[node] = NodeUtilization(client, node)
fmt.Printf("Node %#v usage: %#v\n", node.Name, nodeUsageMap[node])
if IsNodeWithLowUtilization(nodeUsageMap[node], thresholds) {
lowNodes = append(lowNodes, node)
} else {
otherNodes = append(otherNodes, node)
}
}
if len(lowNodes) < strategy.Params.NodeResourceUtilizationThresholds.NumberOfNodes {
return
}
}
if len(lowNodes) < strategy.Params.NodeResourceUtilizationThresholds.NumberOfNodes {
return
}
}