From 7a2a3ce91a5c63903072a7b3d5e9f30622e21ab2 Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Thu, 3 Aug 2017 01:11:42 -0400 Subject: [PATCH] Update rescheduler implementation code. --- cmd/rescheduler/app/server.go | 10 ++++++---- pkg/rescheduler/strategies/duplicates.go | 14 +++++++++----- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/cmd/rescheduler/app/server.go b/cmd/rescheduler/app/server.go index 51252d25e..2faadb5cb 100644 --- a/cmd/rescheduler/app/server.go +++ b/cmd/rescheduler/app/server.go @@ -22,8 +22,9 @@ import ( "github.com/aveshagarwal/rescheduler/cmd/rescheduler/app/options" "github.com/aveshagarwal/rescheduler/pkg/rescheduler/client" - "github.com/aveshagarwal/rescheduler/pkg/rescheduler/node" - "github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" + //"github.com/aveshagarwal/rescheduler/pkg/rescheduler/node" + //"github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" + "github.com/aveshagarwal/rescheduler/pkg/rescheduler/strategies" "github.com/spf13/cobra" "github.com/spf13/pflag" @@ -55,7 +56,8 @@ func Run(rs *options.ReschedulerServer) error { return err } rs.Client = rsclient - stopChannel := make(chan struct{}) + strategies.RemoveDuplicatePods(rs.Client) + /*stopChannel := make(chan struct{}) nodes, err := node.ReadyNodes(rs.Client, stopChannel) if err != nil { return err @@ -74,6 +76,6 @@ func Run(rs *options.ReschedulerServer) error { for _, p := range pods { fmt.Printf("\npod = %#v\n", p) } - } + }*/ return nil } diff --git a/pkg/rescheduler/strategies/duplicates.go b/pkg/rescheduler/strategies/duplicates.go index 3b0554636..d1da7558c 100644 --- a/pkg/rescheduler/strategies/duplicates.go +++ b/pkg/rescheduler/strategies/duplicates.go @@ -24,7 +24,7 @@ import ( "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/aveshagarwal/rescheduler/pkg/rescheduler/node" - "github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" + podutil "github.com/aveshagarwal/rescheduler/pkg/rescheduler/pod" ) //type creator string @@ -46,10 +46,14 @@ func RemoveDuplicatePods(client clientset.Interface) error { } } } + return nil } func RemoveDuplicatePodsOnANode(client clientset.Interface, node *v1.Node) DuplicatePodsMap { - pods := pod.ListPodsOnANode(client, node) + pods, err := podutil.ListPodsOnANode(client, node) + if err != nil { + return nil + } return FindDuplicatePods(pods) } @@ -57,15 +61,15 @@ func FindDuplicatePods(pods []*v1.Pod) DuplicatePodsMap { dpm := DuplicatePodsMap{} for _, pod := range pods { - sr, err := pod.CreatorRef(pod) + sr, err := podutil.CreatorRef(pod) if err != nil || sr == nil { continue } - if pod.IsMirrorPod(pod) || IsDaemonsetPod(sr) || IsPodWithLocalStorage(pod) { + if podutil.IsMirrorPod(pod) || podutil.IsDaemonsetPod(sr) || podutil.IsPodWithLocalStorage(pod) { continue } s := strings.Join([]string{sr.Reference.Kind, sr.Reference.Namespace, sr.Reference.Name}, "/") - append(dpm[s], pod) + dpm[s] = append(dpm[s], pod) } return dpm }