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 {