1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-26 05:14:13 +01:00

Update rescheduler implementation code.

This commit is contained in:
Avesh Agarwal
2017-08-03 01:11:42 -04:00
parent a73f81ecfa
commit 7a2a3ce91a
2 changed files with 15 additions and 9 deletions

View File

@@ -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
}

View File

@@ -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
}