Commit b0c6537d authored by Kubernetes Submit Queue's avatar Kubernetes Submit Queue Committed by GitHub

Merge pull request #49409 from aveshagarwal/master-scheduler-fix-duplicaton

Automatic merge from submit-queue (batch tested with PRs 49409, 49352, 49266, 48418) Fix duplication in scheduler. **What this PR does / why we need it**: This fixes duplicate code in scheduler. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # No issue. **Special notes for your reviewer**: **Release note**: ```release-note ``` @kubernetes/sig-scheduling-pr-reviews @bsalamat
parents 32952d9c 2ca4563b
...@@ -29,7 +29,6 @@ import ( ...@@ -29,7 +29,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
utilfeature "k8s.io/apiserver/pkg/util/feature" utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/kubernetes"
v1core "k8s.io/client-go/kubernetes/typed/core/v1" v1core "k8s.io/client-go/kubernetes/typed/core/v1"
clientset "k8s.io/client-go/kubernetes" clientset "k8s.io/client-go/kubernetes"
...@@ -57,11 +56,10 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re ...@@ -57,11 +56,10 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re
return eventBroadcaster.NewRecorder(api.Scheme, clientv1.EventSource{Component: s.SchedulerName}) return eventBroadcaster.NewRecorder(api.Scheme, clientv1.EventSource{Component: s.SchedulerName})
} }
// TODO: convert scheduler to only use client-go's clientset. func createClient(s *options.SchedulerServer) (*clientset.Clientset, error) {
func createClient(s *options.SchedulerServer) (*clientset.Clientset, *kubernetes.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, nil, fmt.Errorf("unable to build config from flags: %v", err) return nil, fmt.Errorf("unable to build config from flags: %v", err)
} }
kubeconfig.ContentType = s.ContentType kubeconfig.ContentType = s.ContentType
...@@ -71,13 +69,9 @@ func createClient(s *options.SchedulerServer) (*clientset.Clientset, *kubernetes ...@@ -71,13 +69,9 @@ func createClient(s *options.SchedulerServer) (*clientset.Clientset, *kubernetes
cli, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election")) cli, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election"))
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("invalid API configuration: %v", err) return nil, fmt.Errorf("invalid API configuration: %v", err)
} }
clientgoCli, err := kubernetes.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election")) return cli, nil
if err != nil {
return nil, nil, fmt.Errorf("invalid API configuration: %v", err)
}
return cli, clientgoCli, nil
} }
// CreateScheduler encapsulates the entire creation of a runnable scheduler. // CreateScheduler encapsulates the entire creation of a runnable scheduler.
......
...@@ -65,7 +65,7 @@ through the API as necessary.`, ...@@ -65,7 +65,7 @@ through the API as necessary.`,
// Run runs the specified SchedulerServer. This should never exit. // Run runs the specified SchedulerServer. This should never exit.
func Run(s *options.SchedulerServer) error { func Run(s *options.SchedulerServer) error {
kubecli, clientgoCli, err := createClient(s) kubecli, err := createClient(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)
} }
...@@ -121,7 +121,7 @@ func Run(s *options.SchedulerServer) error { ...@@ -121,7 +121,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,
clientgoCli, kubecli,
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