Code change:
sched := scheduler.NewFromConfig(schedulerConfig) // Prepare the event broadcaster. <del> if c.Broadcaster != nil && c.EventClient != nil { c.Broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: c.EventClient.Events("")}) </del> <ins> if cc.Broadcaster != nil && cc.EventClient != nil { cc.Broadcaster.StartRecordingToSink(&v1core.EventSinkImpl{Interface: cc.EventClient.Events("")}) </ins> } // Start up the healthz server. <del> if c.InsecureServing != nil { separateMetrics := c.InsecureMetricsServing != nil handler := buildHandlerChain(newHealthzHandler(&c.ComponentConfig, separateMetrics), nil, nil) if err := c.InsecureServing.Serve(handler, 0, stopCh); err != nil { </del> <ins> if cc.InsecureServing != nil { separateMetrics := cc.InsecureMetricsServing != nil handler := buildHandlerChain(newHealthzHandler(&cc.ComponentConfig, separateMetrics), nil, nil) if err := cc.InsecureServing.Serve(handler, 0, stopCh); err != nil { </ins> return fmt.Errorf("failed to start healthz server: %v", err) } } <del> if c.InsecureMetricsServing != nil { handler := buildHandlerChain(newMetricsHandler(&c.ComponentConfig), nil, nil) if err := c.InsecureMetricsServing.Serve(handler, 0, stopCh); err != nil { </del> <ins> if cc.InsecureMetricsServing != nil { handler := buildHandlerChain(newMetricsHandler(&cc.ComponentConfig), nil, nil) if err := cc.InsecureMetricsServing.Serve(handler, 0, stopCh); err != nil { </ins> return fmt.Errorf("failed to start metrics server: %v", err) } } <del> if c.SecureServing != nil { handler := buildHandlerChain(newHealthzHandler(&c.ComponentConfig, false), c.Authentication.Authenticator, c.Authorization.Authorizer) if err := c.SecureServing.Serve(handler, 0, stopCh); err != nil { </del> <ins> if cc.SecureServing != nil { handler := buildHandlerChain(newHealthzHandler(&cc.ComponentConfig, false), cc.Authentication.Authenticator, cc.Authorization.Authorizer) if err := cc.SecureServing.Serve(handler, 0, stopCh); err != nil { </ins> // fail early for secure handlers, removing the old error loop from above return fmt.Errorf("failed to start healthz server: %v", err) } } // Start all informers. <del> go c.PodInformer.Informer().Run(stopCh) c.InformerFactory.Start(stopCh) </del> <ins> go cc.PodInformer.Informer().Run(stopCh) cc.InformerFactory.Start(stopCh) </ins> // Wait for all caches to sync before scheduling. <del> c.InformerFactory.WaitForCacheSync(stopCh) controller.WaitForCacheSync("scheduler", stopCh, c.PodInformer.Informer().HasSynced) </del> <ins> cc.InformerFactory.WaitForCacheSync(stopCh) controller.WaitForCacheSync("scheduler", stopCh, cc.PodInformer.Informer().HasSynced) </ins> // Prepare a reusable run function. run := func(ctx context.Context) {

Related discussion:
text: PLEASE COORDINATE WITH SIG-SCHEDULING BEFORE WORKING ON THIS ISSUE. We want to avoid the situation where two people accidentally start work on the same fix. Main tracking issue: In the function creates a object and populates the field with an anonymous function. At the end of that function, is called, which contains the rest of our startup logic. Rather than split this across two functions, we should put all the startup logic in one named function called (not ) so that constructing the object is much more plain. /sig scheduling /kind cleanup /help /good-first-issue
This request has been marked as suitable for new contributors. Please ensure the request meets the requirements listed . If this request no longer meets these requirements, the label can be removed by commenting with the command. <detailsIn response to : PLEASE COORDINATE WITH SIG-SCHEDULING BEFORE WORKING ON THIS ISSUE. We want to avoid the situation where two people accidentally start work on the same fix. Main tracking issue: Rather than split this across two functions, we should put all the startup logic in one named function called (not ) so that constructing the object is much more plain. /kind cleanup /help /good-first-issue </details
I'll pick this up! /assign