Move getNextPod to closure

pull/564/head
danielqsj 2019-01-07 17:54:49 +08:00
parent 1641ff4114
commit 554ad383e3
2 changed files with 13 additions and 13 deletions

View File

@ -901,9 +901,7 @@ func (c *configFactory) CreateFromKeys(predicateKeys, priorityKeys sets.String,
WaitForCacheSync: func() bool {
return cache.WaitForCacheSync(c.StopEverything, c.scheduledPodsHasSynced)
},
NextPod: func() *v1.Pod {
return c.getNextPod()
},
NextPod: internalqueue.MakeNextPodFunc(c.podQueue),
Error: c.MakeDefaultErrorFunc(podBackoff, c.podQueue),
StopEverything: c.StopEverything,
VolumeBinder: c.volumeBinder,
@ -972,16 +970,6 @@ func (c *configFactory) getPluginArgs() (*PluginFactoryArgs, error) {
}, nil
}
func (c *configFactory) getNextPod() *v1.Pod {
pod, err := c.podQueue.Pop()
if err == nil {
klog.V(4).Infof("About to try and schedule pod %v/%v", pod.Namespace, pod.Name)
return pod
}
klog.Errorf("Error while retrieving next pod from scheduling queue: %v", err)
return nil
}
// assignedPod selects pods that are assigned (scheduled and running).
func assignedPod(pod *v1.Pod) bool {
return len(pod.Spec.NodeName) != 0

View File

@ -808,3 +808,15 @@ func newNominatedPodMap() *nominatedPodMap {
nominatedPodToNode: make(map[ktypes.UID]string),
}
}
func MakeNextPodFunc(queue SchedulingQueue) func() *v1.Pod {
return func() *v1.Pod {
pod, err := queue.Pop()
if err == nil {
klog.V(4).Infof("About to try and schedule pod %v/%v", pod.Namespace, pod.Name)
return pod
}
klog.Errorf("Error while retrieving next pod from scheduling queue: %v", err)
return nil
}
}