Skip to content

Commit

Permalink
UPSTREAM: 53793: User separate client for leader election in schedule…
Browse files Browse the repository at this point in the history
…r 1.7 PR is kubernetes#53884

:100644 100644 d43ba8aeef... 46b5efe30f... M	plugin/cmd/kube-scheduler/app/configurator.go
:100644 100644 e987c656df... 74a1458649... M	plugin/cmd/kube-scheduler/app/server.go
  • Loading branch information
Avesh Agarwal authored and deads2k committed Oct 31, 2017
1 parent 08d02e5 commit 41d2340
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
12 changes: 6 additions & 6 deletions plugin/cmd/kube-scheduler/app/configurator.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,22 +54,22 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re
return eventBroadcaster.NewRecorder(api.Scheme, clientv1.EventSource{Component: s.SchedulerName})
}

func createClient(s *options.SchedulerServer) (*clientset.Clientset, error) {
func createClients(s *options.SchedulerServer) (*clientset.Clientset, *clientset.Clientset, error) {
kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
if err != nil {
return nil, fmt.Errorf("unable to build config from flags: %v", err)
return nil, nil, fmt.Errorf("unable to build config from flags: %v", err)
}

kubeconfig.ContentType = s.ContentType
// Override kubeconfig qps/burst settings from flags
kubeconfig.QPS = s.KubeAPIQPS
kubeconfig.Burst = int(s.KubeAPIBurst)

cli, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election"))
kubeClient, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "scheduler"))
if err != nil {
return nil, fmt.Errorf("invalid API configuration: %v", err)
glog.Fatalf("Invalid API configuration: %v", err)
}
return cli, nil
leaderElectionClient := clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "leader-election"))
return kubeClient, leaderElectionClient, nil
}

// CreateScheduler encapsulates the entire creation of a runnable scheduler.
Expand Down
12 changes: 6 additions & 6 deletions plugin/cmd/kube-scheduler/app/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -66,20 +66,20 @@ through the API as necessary.`,

// Run runs the specified SchedulerServer. This should never exit.
func Run(s *options.SchedulerServer) error {
kubecli, err := createClient(s)
kubeClient, leaderElectionClient, err := createClients(s)
if err != nil {
return fmt.Errorf("unable to create kube client: %v", err)
}

recorder := createRecorder(kubecli, s)
recorder := createRecorder(kubeClient, s)

informerFactory := informers.NewSharedInformerFactory(kubecli, 0)
informerFactory := informers.NewSharedInformerFactory(kubeClient, 0)
// cache only non-terminal pods
podInformer := factory.NewPodInformer(kubecli, 0)
podInformer := factory.NewPodInformer(kubeClient, 0)

sched, err := CreateScheduler(
s,
kubecli,
kubeClient,
informerFactory.Core().V1().Nodes(),
podInformer,
informerFactory.Core().V1().PersistentVolumes(),
Expand Down Expand Up @@ -124,7 +124,7 @@ func Run(s *options.SchedulerServer) error {
rl, err := resourcelock.New(s.LeaderElection.ResourceLock,
s.LockObjectNamespace,
s.LockObjectName,
kubecli.Core(),
leaderElectionClient.Core(),
resourcelock.ResourceLockConfig{
Identity: id,
EventRecorder: recorder,
Expand Down

0 comments on commit 41d2340

Please sign in to comment.