From 0f303587505ddc9107ef1d34cfc4600ab6cc785b Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Mon, 28 Aug 2017 12:32:17 -0400 Subject: [PATCH] Update implementation of RemoveDuplicates strategy. --- pkg/rescheduler/resheduler.go | 2 +- pkg/rescheduler/strategies/duplicates.go | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/pkg/rescheduler/resheduler.go b/pkg/rescheduler/resheduler.go index 032f9e4b7..a9525507c 100644 --- a/pkg/rescheduler/resheduler.go +++ b/pkg/rescheduler/resheduler.go @@ -53,7 +53,7 @@ func Run(rs *options.ReschedulerServer) error { return err } - strategies.RemoveDuplicatePods(rs.Client, evictionPolicyGroupVersion, nodes) + strategies.RemoveDuplicatePods(rs.Client, reschedulerPolicy.Strategies["RemoveDuplicates"], evictionPolicyGroupVersion, nodes) strategies.LowNodeUtilization(rs.Client, reschedulerPolicy.Strategies["LowNodeUtilization"], evictionPolicyGroupVersion, nodes) return nil diff --git a/pkg/rescheduler/strategies/duplicates.go b/pkg/rescheduler/strategies/duplicates.go index 2b9c145a1..d47ac50c7 100644 --- a/pkg/rescheduler/strategies/duplicates.go +++ b/pkg/rescheduler/strategies/duplicates.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" + "github.com/aveshagarwal/rescheduler/pkg/api" "github.com/aveshagarwal/rescheduler/pkg/rescheduler/evictions" podutil "github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" ) @@ -30,7 +31,11 @@ import ( //type creator string type DuplicatePodsMap map[string][]*v1.Pod -func RemoveDuplicatePods(client clientset.Interface, policyGroupVersion string, nodes []*v1.Node) error { +func RemoveDuplicatePods(client clientset.Interface, strategy api.ReschedulerStrategy, policyGroupVersion string, nodes []*v1.Node) { + if !strategy.Enabled { + return + } + for _, node := range nodes { fmt.Printf("\nProcessing node: %#v\n", node.Name) dpm := RemoveDuplicatePodsOnANode(client, node) @@ -50,7 +55,6 @@ func RemoveDuplicatePods(client clientset.Interface, policyGroupVersion string, } } } - return nil } func RemoveDuplicatePodsOnANode(client clientset.Interface, node *v1.Node) DuplicatePodsMap {