diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index 26153d97619..f5c71d4d0db 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -404,13 +404,9 @@ func StartControllers(s *options.CMServer, kubeClient *client.Client, kubeconfig glog.Infof("Starting %s apis", groupVersion) if containsResource(resources, "scheduledjobs") { glog.Infof("Starting scheduledjob controller") - // TODO: this is a temp fix for allowing kubeClient list v2alpha1 sj, should switch to using clientset + // // TODO: this is a temp fix for allowing kubeClient list v2alpha1 sj, should switch to using clientset kubeconfig.ContentConfig.GroupVersion = &unversioned.GroupVersion{Group: batch.GroupName, Version: "v2alpha1"} - kubeClient, err := client.New(kubeconfig) - if err != nil { - glog.Fatalf("Invalid API configuration: %v", err) - } - go scheduledjob.NewScheduledJobController(kubeClient). + go scheduledjob.NewScheduledJobController(clientset.NewForConfigOrDie(restclient.AddUserAgent(kubeconfig, "scheduledjob-controller"))). Run(wait.NeverStop) time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter)) time.Sleep(wait.Jitter(s.ControllerStartInterval.Duration, ControllerStartJitter)) diff --git a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go index 75b5478203d..5735341a935 100644 --- a/cmd/libs/go2idl/client-gen/generators/generator_for_group.go +++ b/cmd/libs/go2idl/client-gen/generators/generator_for_group.go @@ -204,12 +204,10 @@ func setConfigDefaults(config *$.Config|raw$) error { if config.UserAgent == "" { config.UserAgent = $.DefaultKubernetesUserAgent|raw$() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = $.codecs|raw$ if config.QPS == 0 { diff --git a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup.k8s.io/unversioned/testgroup_client.go b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup.k8s.io/unversioned/testgroup_client.go index 3f7c4e24995..d324770d55a 100644 --- a/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup.k8s.io/unversioned/testgroup_client.go +++ b/cmd/libs/go2idl/client-gen/testoutput/clientset_generated/test_internalclientset/typed/testgroup.k8s.io/unversioned/testgroup_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/core_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/core_client.go index 91a9e07908f..66fe7294b85 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/core_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/core/unversioned/core_client.go @@ -89,12 +89,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go index b55aac1ddce..e1f8dccbb12 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/extensions/unversioned/extensions_client.go @@ -79,12 +79,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/federation_client.go b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/federation_client.go index 89943315434..12c33129f66 100644 --- a/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/federation_client.go +++ b/federation/client/clientset_generated/federation_internalclientset/typed/federation/unversioned/federation_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/apps/unversioned/apps_client.go b/pkg/client/clientset_generated/internalclientset/typed/apps/unversioned/apps_client.go index f0ea95c1c2e..6d9edf7b57f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/apps/unversioned/apps_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/apps/unversioned/apps_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/authentication/unversioned/authentication_client.go b/pkg/client/clientset_generated/internalclientset/typed/authentication/unversioned/authentication_client.go index 3606fdb935e..10d354a9686 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authentication/unversioned/authentication_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/authentication/unversioned/authentication_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/authorization/unversioned/authorization_client.go b/pkg/client/clientset_generated/internalclientset/typed/authorization/unversioned/authorization_client.go index b07517c8a54..88b7c540463 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/authorization/unversioned/authorization_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/authorization/unversioned/authorization_client.go @@ -84,12 +84,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/unversioned/autoscaling_client.go b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/unversioned/autoscaling_client.go index 71d01ff6dd8..114264c793f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/autoscaling/unversioned/autoscaling_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/autoscaling/unversioned/autoscaling_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/batch/unversioned/batch_client.go b/pkg/client/clientset_generated/internalclientset/typed/batch/unversioned/batch_client.go index 8f2b0e80386..f924797d5e4 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/batch/unversioned/batch_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/batch/unversioned/batch_client.go @@ -79,12 +79,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/certificates/unversioned/certificates_client.go b/pkg/client/clientset_generated/internalclientset/typed/certificates/unversioned/certificates_client.go index c11bff9a9b9..f0a3d82f26d 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/certificates/unversioned/certificates_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/certificates/unversioned/certificates_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/core/unversioned/core_client.go b/pkg/client/clientset_generated/internalclientset/typed/core/unversioned/core_client.go index 1e066dec903..e44eaf8bdee 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/core/unversioned/core_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/core/unversioned/core_client.go @@ -149,12 +149,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/extensions/unversioned/extensions_client.go b/pkg/client/clientset_generated/internalclientset/typed/extensions/unversioned/extensions_client.go index 7a6f8248f44..b1e281e099f 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/extensions/unversioned/extensions_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/extensions/unversioned/extensions_client.go @@ -109,12 +109,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/rbac/unversioned/rbac_client.go b/pkg/client/clientset_generated/internalclientset/typed/rbac/unversioned/rbac_client.go index fa2f336fe77..b3a64991585 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/rbac/unversioned/rbac_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/rbac/unversioned/rbac_client.go @@ -89,12 +89,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/client/clientset_generated/internalclientset/typed/storage/unversioned/storage_client.go b/pkg/client/clientset_generated/internalclientset/typed/storage/unversioned/storage_client.go index 9c65356b9c1..3d95a3f86c8 100644 --- a/pkg/client/clientset_generated/internalclientset/typed/storage/unversioned/storage_client.go +++ b/pkg/client/clientset_generated/internalclientset/typed/storage/unversioned/storage_client.go @@ -74,12 +74,10 @@ func setConfigDefaults(config *restclient.Config) error { if config.UserAgent == "" { config.UserAgent = restclient.DefaultKubernetesUserAgent() } - // TODO: Unconditionally set the config.Version, until we fix the config. - //if config.Version == "" { - copyGroupVersion := g.GroupVersion - config.GroupVersion = ©GroupVersion - //} - + if config.GroupVersion == nil || config.GroupVersion.Group != g.GroupVersion.Group { + copyGroupVersion := g.GroupVersion + config.GroupVersion = ©GroupVersion + } config.NegotiatedSerializer = api.Codecs if config.QPS == 0 { diff --git a/pkg/controller/scheduledjob/controller.go b/pkg/controller/scheduledjob/controller.go index 45680ab82df..27f711c6c53 100644 --- a/pkg/controller/scheduledjob/controller.go +++ b/pkg/controller/scheduledjob/controller.go @@ -38,8 +38,9 @@ import ( "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/apis/batch" + clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" + unversionedcore "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/core/unversioned" "k8s.io/kubernetes/pkg/client/record" - client "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/controller/job" "k8s.io/kubernetes/pkg/runtime" utilerrors "k8s.io/kubernetes/pkg/util/errors" @@ -51,21 +52,21 @@ import ( // Utilities for dealing with Jobs and ScheduledJobs and time. type ScheduledJobController struct { - kubeClient *client.Client + kubeClient clientset.Interface jobControl jobControlInterface sjControl sjControlInterface podControl podControlInterface recorder record.EventRecorder } -func NewScheduledJobController(kubeClient *client.Client) *ScheduledJobController { +func NewScheduledJobController(kubeClient clientset.Interface) *ScheduledJobController { eventBroadcaster := record.NewBroadcaster() eventBroadcaster.StartLogging(glog.Infof) // TODO: remove the wrapper when every clients have moved to use the clientset. - eventBroadcaster.StartRecordingToSink(kubeClient.Events("")) + eventBroadcaster.StartRecordingToSink(&unversionedcore.EventSinkImpl{Interface: kubeClient.Core().Events("")}) - if kubeClient != nil && kubeClient.GetRateLimiter() != nil { - metrics.RegisterMetricAndTrackRateLimiterUsage("scheduledjob_controller", kubeClient.GetRateLimiter()) + if kubeClient != nil && kubeClient.Core().GetRESTClient().GetRateLimiter() != nil { + metrics.RegisterMetricAndTrackRateLimiterUsage("scheduledjob_controller", kubeClient.Core().GetRESTClient().GetRateLimiter()) } jm := &ScheduledJobController{ @@ -73,13 +74,13 @@ func NewScheduledJobController(kubeClient *client.Client) *ScheduledJobControlle jobControl: realJobControl{KubeClient: kubeClient}, sjControl: &realSJControl{KubeClient: kubeClient}, podControl: &realPodControl{KubeClient: kubeClient}, - recorder: eventBroadcaster.NewRecorder(api.EventSource{Component: "scheduled-job-controller"}), + recorder: eventBroadcaster.NewRecorder(api.EventSource{Component: "scheduledjob-controller"}), } return jm } -func NewScheduledJobControllerFromClient(kubeClient *client.Client) *ScheduledJobController { +func NewScheduledJobControllerFromClient(kubeClient clientset.Interface) *ScheduledJobController { jm := NewScheduledJobController(kubeClient) return jm } diff --git a/pkg/controller/scheduledjob/injection.go b/pkg/controller/scheduledjob/injection.go index 26715df9783..15f7ba95f9f 100644 --- a/pkg/controller/scheduledjob/injection.go +++ b/pkg/controller/scheduledjob/injection.go @@ -21,8 +21,8 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" + clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/record" - client "k8s.io/kubernetes/pkg/client/unversioned" "k8s.io/kubernetes/pkg/labels" ) @@ -34,7 +34,7 @@ type sjControlInterface interface { // realSJControl is the default implementation of sjControlInterface. type realSJControl struct { - KubeClient *client.Client + KubeClient clientset.Interface } var _ sjControlInterface = &realSJControl{} @@ -73,7 +73,7 @@ type jobControlInterface interface { // realJobControl is the default implementation of jobControlInterface. type realJobControl struct { - KubeClient *client.Client + KubeClient clientset.Interface Recorder record.EventRecorder } @@ -182,18 +182,18 @@ type podControlInterface interface { // realPodControl is the default implementation of podControlInterface. type realPodControl struct { - KubeClient *client.Client + KubeClient clientset.Interface Recorder record.EventRecorder } var _ podControlInterface = &realPodControl{} func (r realPodControl) ListPods(namespace string, opts api.ListOptions) (*api.PodList, error) { - return r.KubeClient.Pods(namespace).List(opts) + return r.KubeClient.Core().Pods(namespace).List(opts) } func (r realPodControl) DeletePod(namespace string, name string) error { - return r.KubeClient.Pods(namespace).Delete(name, nil) + return r.KubeClient.Core().Pods(namespace).Delete(name, nil) } type fakePodControl struct {