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:
@@ -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
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user