mirror of
https://github.com/k3s-io/kubernetes.git
synced 2026-01-05 15:37:24 +00:00
Remove newScheduler to simplify instantiation
Signed-off-by: kerthcet <kerthcet@gmail.com>
This commit is contained in:
@@ -98,6 +98,11 @@ type Scheduler struct {
|
||||
nextStartNodeIndex int
|
||||
}
|
||||
|
||||
func (s *Scheduler) applyDefaultHandlers() {
|
||||
s.SchedulePod = s.schedulePod
|
||||
s.FailureHandler = s.handleSchedulingFailure
|
||||
}
|
||||
|
||||
type schedulerOptions struct {
|
||||
componentConfigVersion string
|
||||
kubeConfig *restclient.Config
|
||||
@@ -311,17 +316,18 @@ func New(client clientset.Interface,
|
||||
debugger := cachedebugger.New(nodeLister, podLister, schedulerCache, podQueue)
|
||||
debugger.ListenForSignal(stopEverything)
|
||||
|
||||
sched := newScheduler(
|
||||
schedulerCache,
|
||||
extenders,
|
||||
internalqueue.MakeNextPodFunc(podQueue),
|
||||
stopEverything,
|
||||
podQueue,
|
||||
profiles,
|
||||
client,
|
||||
snapshot,
|
||||
options.percentageOfNodesToScore,
|
||||
)
|
||||
sched := &Scheduler{
|
||||
Cache: schedulerCache,
|
||||
client: client,
|
||||
nodeInfoSnapshot: snapshot,
|
||||
percentageOfNodesToScore: options.percentageOfNodesToScore,
|
||||
Extenders: extenders,
|
||||
NextPod: internalqueue.MakeNextPodFunc(podQueue),
|
||||
StopEverything: stopEverything,
|
||||
SchedulingQueue: podQueue,
|
||||
Profiles: profiles,
|
||||
}
|
||||
sched.applyDefaultHandlers()
|
||||
|
||||
addAllEventHandlers(sched, informerFactory, dynInformerFactory, unionedGVKs(clusterEventMap))
|
||||
|
||||
@@ -412,33 +418,6 @@ func buildExtenders(extenders []schedulerapi.Extender, profiles []schedulerapi.K
|
||||
|
||||
type FailureHandlerFn func(ctx context.Context, fwk framework.Framework, podInfo *framework.QueuedPodInfo, err error, reason string, nominatingInfo *framework.NominatingInfo)
|
||||
|
||||
// newScheduler creates a Scheduler object.
|
||||
func newScheduler(
|
||||
cache internalcache.Cache,
|
||||
extenders []framework.Extender,
|
||||
nextPod func() *framework.QueuedPodInfo,
|
||||
stopEverything <-chan struct{},
|
||||
schedulingQueue internalqueue.SchedulingQueue,
|
||||
profiles profile.Map,
|
||||
client clientset.Interface,
|
||||
nodeInfoSnapshot *internalcache.Snapshot,
|
||||
percentageOfNodesToScore int32) *Scheduler {
|
||||
sched := Scheduler{
|
||||
Cache: cache,
|
||||
Extenders: extenders,
|
||||
NextPod: nextPod,
|
||||
StopEverything: stopEverything,
|
||||
SchedulingQueue: schedulingQueue,
|
||||
Profiles: profiles,
|
||||
client: client,
|
||||
nodeInfoSnapshot: nodeInfoSnapshot,
|
||||
percentageOfNodesToScore: percentageOfNodesToScore,
|
||||
}
|
||||
sched.SchedulePod = sched.schedulePod
|
||||
sched.FailureHandler = sched.handleSchedulingFailure
|
||||
return &sched
|
||||
}
|
||||
|
||||
func unionedGVKs(m map[framework.ClusterEvent]sets.String) map[framework.GVK]framework.ActionType {
|
||||
gvkMap := make(map[framework.GVK]framework.ActionType)
|
||||
for evt := range m {
|
||||
|
||||
Reference in New Issue
Block a user