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
This commit is contained in:
Kubernetes Submit Queue 2017-07-22 02:05:12 -07:00 committed by GitHub
commit b0c6537de6
2 changed files with 6 additions and 12 deletions

View File

@ -29,7 +29,6 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
utilfeature "k8s.io/apiserver/pkg/util/feature"
"k8s.io/client-go/kubernetes"
v1core "k8s.io/client-go/kubernetes/typed/core/v1"
clientset "k8s.io/client-go/kubernetes"
@ -57,11 +56,10 @@ func createRecorder(kubecli *clientset.Clientset, s *options.SchedulerServer) re
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, *kubernetes.Clientset, error) {
func createClient(s *options.SchedulerServer) (*clientset.Clientset, error) {
kubeconfig, err := clientcmd.BuildConfigFromFlags(s.Master, s.Kubeconfig)
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
@ -71,13 +69,9 @@ func createClient(s *options.SchedulerServer) (*clientset.Clientset, *kubernetes
cli, err := clientset.NewForConfig(restclient.AddUserAgent(kubeconfig, "leader-election"))
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"))
if err != nil {
return nil, nil, fmt.Errorf("invalid API configuration: %v", err)
}
return cli, clientgoCli, nil
return cli, nil
}
// CreateScheduler encapsulates the entire creation of a runnable scheduler.

View File

@ -65,7 +65,7 @@ through the API as necessary.`,
// Run runs the specified SchedulerServer. This should never exit.
func Run(s *options.SchedulerServer) error {
kubecli, clientgoCli, err := createClient(s)
kubecli, err := createClient(s)
if err != nil {
return fmt.Errorf("unable to create kube client: %v", err)
}
@ -121,7 +121,7 @@ func Run(s *options.SchedulerServer) error {
rl, err := resourcelock.New(s.LeaderElection.ResourceLock,
s.LockObjectNamespace,
s.LockObjectName,
clientgoCli,
kubecli,
resourcelock.ResourceLockConfig{
Identity: id,
EventRecorder: recorder,