From 7755fded1240d5c073088c099d0c633bed824d23 Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Sat, 5 Aug 2017 00:21:23 -0400 Subject: [PATCH] Update rescheduler's implementation. --- pkg/apis/componentconfig/register.go | 2 +- pkg/rescheduler/resheduler.go | 9 +++++---- pkg/rescheduler/strategies/lownodeutilization.go | 9 ++++++++- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/pkg/apis/componentconfig/register.go b/pkg/apis/componentconfig/register.go index d939db741..f95f72947 100644 --- a/pkg/apis/componentconfig/register.go +++ b/pkg/apis/componentconfig/register.go @@ -26,7 +26,7 @@ var ( AddToScheme = SchemeBuilder.AddToScheme ) -// GroupName is the group name use in this package +// GroupName is the group name used in this package const GroupName = "reschedulercomponentconfig" // SchemeGroupVersion is group version used to register these objects diff --git a/pkg/rescheduler/resheduler.go b/pkg/rescheduler/resheduler.go index 3624e4e1a..25a3d16a4 100644 --- a/pkg/rescheduler/resheduler.go +++ b/pkg/rescheduler/resheduler.go @@ -56,8 +56,8 @@ func Run(rs *options.ReschedulerServer) error { } fmt.Printf("\nreschedulerPolicy: %#v\n", reschedulerPolicy) - policyGroupVersion, err := eutils.SupportEviction(rs.Client) - if err != nil || len(policyGroupVersion) == 0 { + evictionPolicyGroupVersion, err := eutils.SupportEviction(rs.Client) + if err != nil || len(evictionPolicyGroupVersion) == 0 { return err } @@ -67,7 +67,8 @@ func Run(rs *options.ReschedulerServer) error { return err } - strategies.LowNodeUtilization(rs.Client, policyGroupVersion, nodes) - strategies.RemoveDuplicatePods(rs.Client, policyGroupVersion, nodes) + strategies.RemoveDuplicatePods(rs.Client, evictionPolicyGroupVersion, nodes) + strategies.LowNodeUtilization(rs.Client, evictionPolicyGroupVersion, nodes) + return nil } diff --git a/pkg/rescheduler/strategies/lownodeutilization.go b/pkg/rescheduler/strategies/lownodeutilization.go index cc7ddc6fd..be0ed0a82 100644 --- a/pkg/rescheduler/strategies/lownodeutilization.go +++ b/pkg/rescheduler/strategies/lownodeutilization.go @@ -29,12 +29,19 @@ import ( podutil "github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" ) +type NodeUsageMap map[*v1.Node]api.ResourceThresholds + func LowNodeUtilization(client clientset.Interface, policyGroupVersion string, nodes []*v1.Node) { + nodeUsageMap := NodeUsageMap{} for _, node := range nodes { - fmt.Printf("Node %#v usage: %#v\n", node.Name, NodeUtilization(client, node)) + nodeUsageMap[node] = NodeUtilization(client, node) + fmt.Printf("Node %#v usage: %#v\n", node.Name, nodeUsageMap[node]) } } +func FindNodesWithLowUtilization() { +} + func NodeUtilization(client clientset.Interface, node *v1.Node) api.ResourceThresholds { pods, err := podutil.ListPodsOnANode(client, node) if err != nil {