Commit 234e20b6 authored by Wojciech Tyczynski's avatar Wojciech Tyczynski

User separate client for leader election in scheduler

parent 1d4e1d2d
...@@ -56,22 +56,22 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re ...@@ -56,22 +56,22 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re
return eventBroadcaster.NewRecorder(api.Scheme, v1.EventSource{Component: s.SchedulerName}) return eventBroadcaster.NewRecorder(api.Scheme, v1.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) kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
if err != nil { 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 kubeconfig.ContentType = s.ContentType
// Override kubeconfig qps/burst settings from flags // Override kubeconfig qps/burst settings from flags
kubeconfig.QPS = s.KubeAPIQPS kubeconfig.QPS = s.KubeAPIQPS
kubeconfig.Burst = int(s.KubeAPIBurst) kubeconfig.Burst = int(s.KubeAPIBurst)
kubeClient, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "scheduler"))
cli, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election"))
if err != nil { 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. // CreateScheduler encapsulates the entire creation of a runnable scheduler.
......
...@@ -70,23 +70,23 @@ func Run(s *options.SchedulerServer) error { ...@@ -70,23 +70,23 @@ func Run(s *options.SchedulerServer) error {
// To help debugging, immediately log version // To help debugging, immediately log version
glog.Infof("Version: %+v", version.Get()) glog.Infof("Version: %+v", version.Get())
kubecli, err := createClient(s) kubeClient, leaderElectionClient, err := createClients(s)
if err != nil { if err != nil {
return fmt.Errorf("unable to create kube client: %v", err) 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 // cache only non-terminal pods
podInformer := factory.NewPodInformer(kubecli, 0) podInformer := factory.NewPodInformer(kubeClient, 0)
// Apply algorithms based on feature gates. // Apply algorithms based on feature gates.
algorithmprovider.ApplyFeatureGates() algorithmprovider.ApplyFeatureGates()
sched, err := CreateScheduler( sched, err := CreateScheduler(
s, s,
kubecli, kubeClient,
informerFactory.Core().V1().Nodes(), informerFactory.Core().V1().Nodes(),
podInformer, podInformer,
informerFactory.Core().V1().PersistentVolumes(), informerFactory.Core().V1().PersistentVolumes(),
...@@ -131,7 +131,7 @@ func Run(s *options.SchedulerServer) error { ...@@ -131,7 +131,7 @@ func Run(s *options.SchedulerServer) error {
rl, err := resourcelock.New(s.LeaderElection.ResourceLock, rl, err := resourcelock.New(s.LeaderElection.ResourceLock,
s.LockObjectNamespace, s.LockObjectNamespace,
s.LockObjectName, s.LockObjectName,
kubecli.CoreV1(), leaderElectionClient.CoreV1(),
resourcelock.ResourceLockConfig{ resourcelock.ResourceLockConfig{
Identity: id, Identity: id,
EventRecorder: recorder, EventRecorder: recorder,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment