From 957c0955aa0ca0dc4eb6b220def556525b9d880c Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Fri, 30 Sep 2016 17:39:47 -0400 Subject: [PATCH] Run defaulting on the scheduler startup --- cmd/kube-proxy/app/options/options.go | 4 +++- cmd/kubelet/app/options/options.go | 4 +++- cmd/kubelet/app/server.go | 1 + pkg/kubemark/hollow_kubelet.go | 1 + plugin/cmd/kube-scheduler/app/options/options.go | 4 +++- test/e2e_node/dynamic_kubelet_configuration_test.go | 2 ++ 6 files changed, 13 insertions(+), 3 deletions(-) diff --git a/cmd/kube-proxy/app/options/options.go b/cmd/kube-proxy/app/options/options.go index 40d89e3ea9..a7fa9439f6 100644 --- a/cmd/kube-proxy/app/options/options.go +++ b/cmd/kube-proxy/app/options/options.go @@ -50,8 +50,10 @@ type ProxyServerConfig struct { } func NewProxyConfig() *ProxyServerConfig { + versioned := &v1alpha1.KubeProxyConfiguration{} + api.Scheme.Default(versioned) cfg := componentconfig.KubeProxyConfiguration{} - api.Scheme.Convert(&v1alpha1.KubeProxyConfiguration{}, &cfg, nil) + api.Scheme.Convert(versioned, &cfg, nil) return &ProxyServerConfig{ KubeProxyConfiguration: cfg, ContentType: "application/vnd.kubernetes.protobuf", diff --git a/cmd/kubelet/app/options/options.go b/cmd/kubelet/app/options/options.go index 85ca9771ff..282cf24d07 100644 --- a/cmd/kubelet/app/options/options.go +++ b/cmd/kubelet/app/options/options.go @@ -64,8 +64,10 @@ type KubeletServer struct { // NewKubeletServer will create a new KubeletServer with default values. func NewKubeletServer() *KubeletServer { + versioned := &v1alpha1.KubeletConfiguration{} + api.Scheme.Default(versioned) config := componentconfig.KubeletConfiguration{} - api.Scheme.Convert(&v1alpha1.KubeletConfiguration{}, &config, nil) + api.Scheme.Convert(versioned, &config, nil) return &KubeletServer{ KubeConfig: flag.NewStringFlag("/var/lib/kubelet/kubeconfig"), RequireKubeConfig: false, // in 1.5, default to true diff --git a/cmd/kubelet/app/server.go b/cmd/kubelet/app/server.go index 05f1279bc1..0a696b25c1 100644 --- a/cmd/kubelet/app/server.go +++ b/cmd/kubelet/app/server.go @@ -246,6 +246,7 @@ func initKubeletConfigSync(s *options.KubeletServer) (*componentconfig.KubeletCo if err != nil { return nil, err } + api.Scheme.Default(&extKC) kc := componentconfig.KubeletConfiguration{} err = api.Scheme.Convert(&extKC, &kc, nil) if err != nil { diff --git a/pkg/kubemark/hollow_kubelet.go b/pkg/kubemark/hollow_kubelet.go index 672f568550..30feba4cc9 100644 --- a/pkg/kubemark/hollow_kubelet.go +++ b/pkg/kubemark/hollow_kubelet.go @@ -103,6 +103,7 @@ func GetHollowKubeletConfig( // Do the external -> internal conversion to make sure that defaults // are set for fields not overridden in NewHollowKubelet. tmp := &v1alpha1.KubeletConfiguration{} + api.Scheme.Default(tmp) c := &componentconfig.KubeletConfiguration{} api.Scheme.Convert(tmp, c, nil) diff --git a/plugin/cmd/kube-scheduler/app/options/options.go b/plugin/cmd/kube-scheduler/app/options/options.go index 5a352cf61d..43a38ca552 100644 --- a/plugin/cmd/kube-scheduler/app/options/options.go +++ b/plugin/cmd/kube-scheduler/app/options/options.go @@ -42,8 +42,10 @@ type SchedulerServer struct { // NewSchedulerServer creates a new SchedulerServer with default parameters func NewSchedulerServer() *SchedulerServer { + versioned := &v1alpha1.KubeSchedulerConfiguration{} + api.Scheme.Default(versioned) cfg := componentconfig.KubeSchedulerConfiguration{} - api.Scheme.Convert(&v1alpha1.KubeSchedulerConfiguration{}, &cfg, nil) + api.Scheme.Convert(versioned, &cfg, nil) cfg.LeaderElection.LeaderElect = true s := SchedulerServer{ KubeSchedulerConfiguration: cfg, diff --git a/test/e2e_node/dynamic_kubelet_configuration_test.go b/test/e2e_node/dynamic_kubelet_configuration_test.go index 036d44755b..674022b1fd 100644 --- a/test/e2e_node/dynamic_kubelet_configuration_test.go +++ b/test/e2e_node/dynamic_kubelet_configuration_test.go @@ -142,6 +142,8 @@ func decodeConfigz(resp *http.Response) (*componentconfig.KubeletConfiguration, return nil, err } + api.Scheme.Default(&configz.ComponentConfig) + err = api.Scheme.Convert(&configz.ComponentConfig, &kubeCfg, nil) if err != nil { return nil, err