Commit 9ebaf5e7 authored by Michael Taufen's avatar Michael Taufen

Move the kubeletconfig v1alpha1 API to beta, rename to kubelet.config.k8s.io

parent 6535c955
...@@ -15,7 +15,7 @@ go_library( ...@@ -15,7 +15,7 @@ go_library(
], ],
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm", importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm",
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library", "//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
......
...@@ -11,7 +11,7 @@ go_library( ...@@ -11,7 +11,7 @@ go_library(
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer", importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer",
deps = [ deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library", "//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
"//pkg/util/pointer:go_default_library", "//pkg/util/pointer:go_default_library",
"//vendor/github.com/google/gofuzz:go_default_library", "//vendor/github.com/google/gofuzz:go_default_library",
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
utilpointer "k8s.io/kubernetes/pkg/util/pointer" utilpointer "k8s.io/kubernetes/pkg/util/pointer"
) )
...@@ -64,17 +64,17 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} { ...@@ -64,17 +64,17 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} {
OperatorVersion: "v0.1.0", OperatorVersion: "v0.1.0",
} }
obj.KubeletConfiguration = kubeadm.KubeletConfiguration{ obj.KubeletConfiguration = kubeadm.KubeletConfiguration{
BaseConfig: &kubeletconfigv1alpha1.KubeletConfiguration{ BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{
PodManifestPath: "foo", PodManifestPath: "foo",
ClusterDNS: []string{"foo"}, ClusterDNS: []string{"foo"},
ClusterDomain: "foo", ClusterDomain: "foo",
Authorization: kubeletconfigv1alpha1.KubeletAuthorization{Mode: "foo"}, Authorization: kubeletconfigv1beta1.KubeletAuthorization{Mode: "foo"},
Authentication: kubeletconfigv1alpha1.KubeletAuthentication{ Authentication: kubeletconfigv1beta1.KubeletAuthentication{
X509: kubeletconfigv1alpha1.KubeletX509Authentication{ClientCAFile: "foo"}, X509: kubeletconfigv1beta1.KubeletX509Authentication{ClientCAFile: "foo"},
}, },
}, },
} }
kubeletconfigv1alpha1.SetDefaults_KubeletConfiguration(obj.KubeletConfiguration.BaseConfig) kubeletconfigv1beta1.SetDefaults_KubeletConfiguration(obj.KubeletConfiguration.BaseConfig)
obj.KubeProxy = kubeadm.KubeProxy{ obj.KubeProxy = kubeadm.KubeProxy{
Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{
FeatureGates: "foo", FeatureGates: "foo",
......
...@@ -19,7 +19,7 @@ package kubeadm ...@@ -19,7 +19,7 @@ package kubeadm
import ( import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -239,7 +239,7 @@ type NodeConfiguration struct { ...@@ -239,7 +239,7 @@ type NodeConfiguration struct {
// KubeletConfiguration contains elements describing initial remote configuration of kubelet. // KubeletConfiguration contains elements describing initial remote configuration of kubelet.
type KubeletConfiguration struct { type KubeletConfiguration struct {
BaseConfig *kubeletconfigv1alpha1.KubeletConfiguration BaseConfig *kubeletconfigv1beta1.KubeletConfiguration
} }
// GetControlPlaneImageRepository returns name of image repository // GetControlPlaneImageRepository returns name of image repository
......
...@@ -53,7 +53,7 @@ go_library( ...@@ -53,7 +53,7 @@ go_library(
"//cmd/kubeadm/app/constants:go_default_library", "//cmd/kubeadm/app/constants:go_default_library",
"//cmd/kubeadm/app/features:go_default_library", "//cmd/kubeadm/app/features:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/proxy/apis/kubeproxyconfig/scheme:go_default_library", "//pkg/proxy/apis/kubeproxyconfig/scheme:go_default_library",
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library", "//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
......
...@@ -25,7 +25,7 @@ import ( ...@@ -25,7 +25,7 @@ import (
"k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/constants"
"k8s.io/kubernetes/cmd/kubeadm/app/features" "k8s.io/kubernetes/cmd/kubeadm/app/features"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme" kubeproxyscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme"
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -186,7 +186,7 @@ func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration) { ...@@ -186,7 +186,7 @@ func SetDefaultsEtcdSelfHosted(obj *MasterConfiguration) {
// SetDefaults_KubeletConfiguration assigns default values to kubelet // SetDefaults_KubeletConfiguration assigns default values to kubelet
func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) { func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) {
if obj.KubeletConfiguration.BaseConfig == nil { if obj.KubeletConfiguration.BaseConfig == nil {
obj.KubeletConfiguration.BaseConfig = &kubeletconfigv1alpha1.KubeletConfiguration{} obj.KubeletConfiguration.BaseConfig = &kubeletconfigv1beta1.KubeletConfiguration{}
} }
if obj.KubeletConfiguration.BaseConfig.PodManifestPath == "" { if obj.KubeletConfiguration.BaseConfig.PodManifestPath == "" {
obj.KubeletConfiguration.BaseConfig.PodManifestPath = DefaultManifestsDir obj.KubeletConfiguration.BaseConfig.PodManifestPath = DefaultManifestsDir
...@@ -203,7 +203,7 @@ func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) { ...@@ -203,7 +203,7 @@ func SetDefaults_KubeletConfiguration(obj *MasterConfiguration) {
obj.KubeletConfiguration.BaseConfig.ClusterDomain = DefaultServiceDNSDomain obj.KubeletConfiguration.BaseConfig.ClusterDomain = DefaultServiceDNSDomain
} }
if obj.KubeletConfiguration.BaseConfig.Authorization.Mode == "" { if obj.KubeletConfiguration.BaseConfig.Authorization.Mode == "" {
obj.KubeletConfiguration.BaseConfig.Authorization.Mode = kubeletconfigv1alpha1.KubeletAuthorizationModeWebhook obj.KubeletConfiguration.BaseConfig.Authorization.Mode = kubeletconfigv1beta1.KubeletAuthorizationModeWebhook
} }
if obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile == "" { if obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile == "" {
obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile = DefaultCACertPath obj.KubeletConfiguration.BaseConfig.Authentication.X509.ClientCAFile = DefaultCACertPath
......
...@@ -19,7 +19,7 @@ package v1alpha1 ...@@ -19,7 +19,7 @@ package v1alpha1
import ( import (
v1 "k8s.io/api/core/v1" v1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -231,7 +231,7 @@ type NodeConfiguration struct { ...@@ -231,7 +231,7 @@ type NodeConfiguration struct {
// KubeletConfiguration contains elements describing initial remote configuration of kubelet. // KubeletConfiguration contains elements describing initial remote configuration of kubelet.
type KubeletConfiguration struct { type KubeletConfiguration struct {
BaseConfig *kubeletconfigv1alpha1.KubeletConfiguration `json:"baseConfig,omitempty"` BaseConfig *kubeletconfigv1beta1.KubeletConfiguration `json:"baseConfig,omitempty"`
} }
// HostPathMount contains elements describing volumes that are mounted from the // HostPathMount contains elements describing volumes that are mounted from the
......
...@@ -28,7 +28,7 @@ import ( ...@@ -28,7 +28,7 @@ import (
conversion "k8s.io/apimachinery/pkg/conversion" conversion "k8s.io/apimachinery/pkg/conversion"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
kubeadm "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadm "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeletconfig_v1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -190,7 +190,7 @@ func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy(in *kubeadm.KubeProxy, out ...@@ -190,7 +190,7 @@ func Convert_kubeadm_KubeProxy_To_v1alpha1_KubeProxy(in *kubeadm.KubeProxy, out
} }
func autoConvert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *KubeletConfiguration, out *kubeadm.KubeletConfiguration, s conversion.Scope) error { func autoConvert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *KubeletConfiguration, out *kubeadm.KubeletConfiguration, s conversion.Scope) error {
out.BaseConfig = (*kubeletconfig_v1alpha1.KubeletConfiguration)(unsafe.Pointer(in.BaseConfig)) out.BaseConfig = (*v1beta1.KubeletConfiguration)(unsafe.Pointer(in.BaseConfig))
return nil return nil
} }
...@@ -200,7 +200,7 @@ func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *K ...@@ -200,7 +200,7 @@ func Convert_v1alpha1_KubeletConfiguration_To_kubeadm_KubeletConfiguration(in *K
} }
func autoConvert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration(in *kubeadm.KubeletConfiguration, out *KubeletConfiguration, s conversion.Scope) error { func autoConvert_kubeadm_KubeletConfiguration_To_v1alpha1_KubeletConfiguration(in *kubeadm.KubeletConfiguration, out *KubeletConfiguration, s conversion.Scope) error {
out.BaseConfig = (*kubeletconfig_v1alpha1.KubeletConfiguration)(unsafe.Pointer(in.BaseConfig)) out.BaseConfig = (*v1beta1.KubeletConfiguration)(unsafe.Pointer(in.BaseConfig))
return nil return nil
} }
......
...@@ -23,7 +23,7 @@ package v1alpha1 ...@@ -23,7 +23,7 @@ package v1alpha1
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
kubeletconfig_v1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -154,7 +154,7 @@ func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration) { ...@@ -154,7 +154,7 @@ func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration) {
if *in == nil { if *in == nil {
*out = nil *out = nil
} else { } else {
*out = new(kubeletconfig_v1alpha1.KubeletConfiguration) *out = new(v1beta1.KubeletConfiguration)
(*in).DeepCopyInto(*out) (*in).DeepCopyInto(*out)
} }
} }
......
...@@ -22,7 +22,7 @@ package v1alpha1 ...@@ -22,7 +22,7 @@ package v1alpha1
import ( import (
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
kubeletconfig_v1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfig_v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -41,7 +41,7 @@ func SetObjectDefaults_MasterConfiguration(in *MasterConfiguration) { ...@@ -41,7 +41,7 @@ func SetObjectDefaults_MasterConfiguration(in *MasterConfiguration) {
kubeproxyconfig_v1alpha1.SetDefaults_KubeProxyConfiguration(in.KubeProxy.Config) kubeproxyconfig_v1alpha1.SetDefaults_KubeProxyConfiguration(in.KubeProxy.Config)
} }
if in.KubeletConfiguration.BaseConfig != nil { if in.KubeletConfiguration.BaseConfig != nil {
kubeletconfig_v1alpha1.SetDefaults_KubeletConfiguration(in.KubeletConfiguration.BaseConfig) v1beta1.SetDefaults_KubeletConfiguration(in.KubeletConfiguration.BaseConfig)
} }
} }
......
...@@ -35,7 +35,7 @@ go_test( ...@@ -35,7 +35,7 @@ go_test(
importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation", importpath = "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation",
deps = [ deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library", "//pkg/proxy/apis/kubeproxyconfig/v1alpha1:go_default_library",
"//pkg/util/pointer:go_default_library", "//pkg/util/pointer:go_default_library",
"//vendor/github.com/spf13/pflag:go_default_library", "//vendor/github.com/spf13/pflag:go_default_library",
......
...@@ -28,7 +28,7 @@ import ( ...@@ -28,7 +28,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
utilpointer "k8s.io/kubernetes/pkg/util/pointer" utilpointer "k8s.io/kubernetes/pkg/util/pointer"
) )
...@@ -568,7 +568,7 @@ func TestValidateIgnorePreflightErrors(t *testing.T) { ...@@ -568,7 +568,7 @@ func TestValidateIgnorePreflightErrors(t *testing.T) {
func TestValidateKubeletConfiguration(t *testing.T) { func TestValidateKubeletConfiguration(t *testing.T) {
successCase := &kubeadm.KubeletConfiguration{ successCase := &kubeadm.KubeletConfiguration{
BaseConfig: &kubeletconfigv1alpha1.KubeletConfiguration{ BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{
CgroupsPerQOS: utilpointer.BoolPtr(true), CgroupsPerQOS: utilpointer.BoolPtr(true),
EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved"}, EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved"},
SystemCgroups: "", SystemCgroups: "",
...@@ -598,7 +598,7 @@ func TestValidateKubeletConfiguration(t *testing.T) { ...@@ -598,7 +598,7 @@ func TestValidateKubeletConfiguration(t *testing.T) {
} }
errorCase := &kubeadm.KubeletConfiguration{ errorCase := &kubeadm.KubeletConfiguration{
BaseConfig: &kubeletconfigv1alpha1.KubeletConfiguration{ BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{
CgroupsPerQOS: utilpointer.BoolPtr(false), CgroupsPerQOS: utilpointer.BoolPtr(false),
EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved", "illegal-key"}, EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved", "illegal-key"},
SystemCgroups: "/", SystemCgroups: "/",
......
...@@ -23,7 +23,7 @@ package kubeadm ...@@ -23,7 +23,7 @@ package kubeadm
import ( import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
kubeletconfig_v1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1"
) )
...@@ -154,7 +154,7 @@ func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration) { ...@@ -154,7 +154,7 @@ func (in *KubeletConfiguration) DeepCopyInto(out *KubeletConfiguration) {
if *in == nil { if *in == nil {
*out = nil *out = nil
} else { } else {
*out = new(kubeletconfig_v1alpha1.KubeletConfiguration) *out = new(v1beta1.KubeletConfiguration)
(*in).DeepCopyInto(*out) (*in).DeepCopyInto(*out)
} }
} }
......
...@@ -13,7 +13,7 @@ go_library( ...@@ -13,7 +13,7 @@ go_library(
"//cmd/kubeadm/app/util/kubeconfig:go_default_library", "//cmd/kubeadm/app/util/kubeconfig:go_default_library",
"//pkg/apis/rbac/v1:go_default_library", "//pkg/apis/rbac/v1:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/api/rbac/v1:go_default_library", "//vendor/k8s.io/api/rbac/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
...@@ -33,7 +33,7 @@ go_test( ...@@ -33,7 +33,7 @@ go_test(
deps = [ deps = [
"//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//cmd/kubeadm/app/apis/kubeadm:go_default_library",
"//cmd/kubeadm/app/constants:go_default_library", "//cmd/kubeadm/app/constants:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//vendor/k8s.io/api/core/v1:go_default_library", "//vendor/k8s.io/api/core/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
......
...@@ -38,7 +38,7 @@ import ( ...@@ -38,7 +38,7 @@ import (
kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig"
rbachelper "k8s.io/kubernetes/pkg/apis/rbac/v1" rbachelper "k8s.io/kubernetes/pkg/apis/rbac/v1"
kubeletconfigscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletconfigscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
) )
// CreateBaseKubeletConfiguration creates base kubelet configuration for dynamic kubelet configuration feature. // CreateBaseKubeletConfiguration creates base kubelet configuration for dynamic kubelet configuration feature.
...@@ -50,7 +50,7 @@ func CreateBaseKubeletConfiguration(cfg *kubeadmapi.MasterConfiguration, client ...@@ -50,7 +50,7 @@ func CreateBaseKubeletConfiguration(cfg *kubeadmapi.MasterConfiguration, client
if err != nil { if err != nil {
return err return err
} }
kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(cfg.KubeletConfiguration.BaseConfig, kubeletconfigv1alpha1.SchemeGroupVersion, *kubeletCodecs) kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(cfg.KubeletConfiguration.BaseConfig, kubeletconfigv1beta1.SchemeGroupVersion, *kubeletCodecs)
if err != nil { if err != nil {
return err return err
} }
...@@ -210,7 +210,7 @@ func WriteInitKubeletConfigToDiskOnMaster(cfg *kubeadmapi.MasterConfiguration) e ...@@ -210,7 +210,7 @@ func WriteInitKubeletConfigToDiskOnMaster(cfg *kubeadmapi.MasterConfiguration) e
return err return err
} }
kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(cfg.KubeletConfiguration.BaseConfig, kubeletconfigv1alpha1.SchemeGroupVersion, *kubeletCodecs) kubeletBytes, err := kubeadmutil.MarshalToYamlForCodecs(cfg.KubeletConfiguration.BaseConfig, kubeletconfigv1beta1.SchemeGroupVersion, *kubeletCodecs)
if err != nil { if err != nil {
return err return err
} }
......
...@@ -26,7 +26,7 @@ import ( ...@@ -26,7 +26,7 @@ import (
core "k8s.io/client-go/testing" core "k8s.io/client-go/testing"
kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm"
kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
) )
func TestCreateBaseKubeletConfiguration(t *testing.T) { func TestCreateBaseKubeletConfiguration(t *testing.T) {
...@@ -35,7 +35,7 @@ func TestCreateBaseKubeletConfiguration(t *testing.T) { ...@@ -35,7 +35,7 @@ func TestCreateBaseKubeletConfiguration(t *testing.T) {
cfg := &kubeadmapi.MasterConfiguration{ cfg := &kubeadmapi.MasterConfiguration{
NodeName: nodeName, NodeName: nodeName,
KubeletConfiguration: kubeadmapi.KubeletConfiguration{ KubeletConfiguration: kubeadmapi.KubeletConfiguration{
BaseConfig: &kubeletconfigv1alpha1.KubeletConfiguration{ BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{
TypeMeta: metav1.TypeMeta{ TypeMeta: metav1.TypeMeta{
Kind: "KubeletConfiguration", Kind: "KubeletConfiguration",
}, },
......
...@@ -73,7 +73,7 @@ go_library( ...@@ -73,7 +73,7 @@ go_library(
"//pkg/kubelet:go_default_library", "//pkg/kubelet:go_default_library",
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/cadvisor:go_default_library", "//pkg/kubelet/cadvisor:go_default_library",
"//pkg/kubelet/certificate:go_default_library", "//pkg/kubelet/certificate:go_default_library",
"//pkg/kubelet/certificate/bootstrap:go_default_library", "//pkg/kubelet/certificate/bootstrap:go_default_library",
......
...@@ -57,7 +57,7 @@ go_library( ...@@ -57,7 +57,7 @@ go_library(
"//pkg/features:go_default_library", "//pkg/features:go_default_library",
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/validation:go_default_library", "//pkg/kubelet/apis/kubeletconfig/validation:go_default_library",
"//pkg/kubelet/config:go_default_library", "//pkg/kubelet/config:go_default_library",
"//pkg/kubelet/types:go_default_library", "//pkg/kubelet/types:go_default_library",
......
...@@ -35,7 +35,7 @@ import ( ...@@ -35,7 +35,7 @@ import (
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
kubeletconfigvalidation "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/validation" kubeletconfigvalidation "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/validation"
"k8s.io/kubernetes/pkg/kubelet/config" "k8s.io/kubernetes/pkg/kubelet/config"
kubetypes "k8s.io/kubernetes/pkg/kubelet/types" kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
...@@ -43,6 +43,8 @@ import ( ...@@ -43,6 +43,8 @@ import (
utiltaints "k8s.io/kubernetes/pkg/util/taints" utiltaints "k8s.io/kubernetes/pkg/util/taints"
) )
const defaultRootDir = "/var/lib/kubelet"
// A configuration field should go in KubeletFlags instead of KubeletConfiguration if any of these are true: // A configuration field should go in KubeletFlags instead of KubeletConfiguration if any of these are true:
// - its value will never, or cannot safely be changed during the lifetime of a node // - its value will never, or cannot safely be changed during the lifetime of a node
// - its value cannot be safely shared between nodes at the same time (e.g. a hostname) // - its value cannot be safely shared between nodes at the same time (e.g. a hostname)
...@@ -221,7 +223,7 @@ func NewKubeletFlags() *KubeletFlags { ...@@ -221,7 +223,7 @@ func NewKubeletFlags() *KubeletFlags {
EnableServer: true, EnableServer: true,
ContainerRuntimeOptions: *NewContainerRuntimeOptions(), ContainerRuntimeOptions: *NewContainerRuntimeOptions(),
CertDirectory: "/var/lib/kubelet/pki", CertDirectory: "/var/lib/kubelet/pki",
RootDirectory: v1alpha1.DefaultRootDir, RootDirectory: defaultRootDir,
MasterServiceNamespace: metav1.NamespaceDefault, MasterServiceNamespace: metav1.NamespaceDefault,
MaxContainerCount: -1, MaxContainerCount: -1,
MaxPerPodContainerCount: 1, MaxPerPodContainerCount: 1,
...@@ -237,7 +239,7 @@ func NewKubeletFlags() *KubeletFlags { ...@@ -237,7 +239,7 @@ func NewKubeletFlags() *KubeletFlags {
NodeLabels: make(map[string]string), NodeLabels: make(map[string]string),
VolumePluginDir: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/", VolumePluginDir: "/usr/libexec/kubernetes/kubelet-plugins/volume/exec/",
RegisterNode: true, RegisterNode: true,
SeccompProfileRoot: filepath.Join(v1alpha1.DefaultRootDir, "seccomp"), SeccompProfileRoot: filepath.Join(defaultRootDir, "seccomp"),
HostNetworkSources: []string{kubetypes.AllSource}, HostNetworkSources: []string{kubetypes.AllSource},
HostPIDSources: []string{kubetypes.AllSource}, HostPIDSources: []string{kubetypes.AllSource},
HostIPCSources: []string{kubetypes.AllSource}, HostIPCSources: []string{kubetypes.AllSource},
...@@ -263,7 +265,7 @@ func NewKubeletConfiguration() (*kubeletconfig.KubeletConfiguration, error) { ...@@ -263,7 +265,7 @@ func NewKubeletConfiguration() (*kubeletconfig.KubeletConfiguration, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
versioned := &v1alpha1.KubeletConfiguration{} versioned := &v1beta1.KubeletConfiguration{}
scheme.Default(versioned) scheme.Default(versioned)
config := &kubeletconfig.KubeletConfiguration{} config := &kubeletconfig.KubeletConfiguration{}
if err := scheme.Convert(versioned, config, nil); err != nil { if err := scheme.Convert(versioned, config, nil); err != nil {
...@@ -328,6 +330,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) { ...@@ -328,6 +330,7 @@ func (s *KubeletServer) AddFlags(fs *pflag.FlagSet) {
func (f *KubeletFlags) AddFlags(fs *pflag.FlagSet) { func (f *KubeletFlags) AddFlags(fs *pflag.FlagSet) {
f.ContainerRuntimeOptions.AddFlags(fs) f.ContainerRuntimeOptions.AddFlags(fs)
fs.StringVar(&f.KubeletConfigFile, "config", f.KubeletConfigFile, "The Kubelet will load its initial configuration from this file. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Omit this flag to use the built-in default configuration values. Command-line flags override configuration from this file.")
fs.StringVar(&f.KubeConfig, "kubeconfig", f.KubeConfig, "Path to a kubeconfig file, specifying how to connect to the API server. Providing --kubeconfig enables API server mode, omitting --kubeconfig enables standalone mode.") fs.StringVar(&f.KubeConfig, "kubeconfig", f.KubeConfig, "Path to a kubeconfig file, specifying how to connect to the API server. Providing --kubeconfig enables API server mode, omitting --kubeconfig enables standalone mode.")
fs.MarkDeprecated("experimental-bootstrap-kubeconfig", "Use --bootstrap-kubeconfig") fs.MarkDeprecated("experimental-bootstrap-kubeconfig", "Use --bootstrap-kubeconfig")
...@@ -366,7 +369,6 @@ func (f *KubeletFlags) AddFlags(fs *pflag.FlagSet) { ...@@ -366,7 +369,6 @@ func (f *KubeletFlags) AddFlags(fs *pflag.FlagSet) {
fs.Int32Var(&f.CAdvisorPort, "cadvisor-port", f.CAdvisorPort, "The port of the localhost cAdvisor endpoint (set to 0 to disable)") fs.Int32Var(&f.CAdvisorPort, "cadvisor-port", f.CAdvisorPort, "The port of the localhost cAdvisor endpoint (set to 0 to disable)")
// EXPERIMENTAL FLAGS // EXPERIMENTAL FLAGS
fs.StringVar(&f.KubeletConfigFile, "config", f.KubeletConfigFile, "<Warning: Alpha feature> The Kubelet will load its initial configuration from this file. The path may be absolute or relative; relative paths start at the Kubelet's current working directory. Omit this flag to use the built-in default configuration values. Note that the format of the config file is still Alpha.")
fs.StringVar(&f.ExperimentalMounterPath, "experimental-mounter-path", f.ExperimentalMounterPath, "[Experimental] Path of mounter binary. Leave empty to use the default mount.") fs.StringVar(&f.ExperimentalMounterPath, "experimental-mounter-path", f.ExperimentalMounterPath, "[Experimental] Path of mounter binary. Leave empty to use the default mount.")
fs.StringSliceVar(&f.AllowedUnsafeSysctls, "experimental-allowed-unsafe-sysctls", f.AllowedUnsafeSysctls, "Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk.") fs.StringSliceVar(&f.AllowedUnsafeSysctls, "experimental-allowed-unsafe-sysctls", f.AllowedUnsafeSysctls, "Comma-separated whitelist of unsafe sysctls or unsafe sysctl patterns (ending in *). Use these at your own risk.")
fs.BoolVar(&f.ExperimentalKernelMemcgNotification, "experimental-kernel-memcg-notification", f.ExperimentalKernelMemcgNotification, "If enabled, the kubelet will integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling.") fs.BoolVar(&f.ExperimentalKernelMemcgNotification, "experimental-kernel-memcg-notification", f.ExperimentalKernelMemcgNotification, "If enabled, the kubelet will integrate with the kernel memcg notification to determine if memory eviction thresholds are crossed rather than polling.")
......
...@@ -66,7 +66,7 @@ import ( ...@@ -66,7 +66,7 @@ import (
"k8s.io/kubernetes/pkg/kubelet" "k8s.io/kubernetes/pkg/kubelet"
kubeletconfiginternal "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" kubeletconfiginternal "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
"k8s.io/kubernetes/pkg/kubelet/cadvisor" "k8s.io/kubernetes/pkg/kubelet/cadvisor"
kubeletcertificate "k8s.io/kubernetes/pkg/kubelet/certificate" kubeletcertificate "k8s.io/kubernetes/pkg/kubelet/certificate"
"k8s.io/kubernetes/pkg/kubelet/certificate/bootstrap" "k8s.io/kubernetes/pkg/kubelet/certificate/bootstrap"
...@@ -393,7 +393,7 @@ func setConfigz(cz *configz.Config, kc *kubeletconfiginternal.KubeletConfigurati ...@@ -393,7 +393,7 @@ func setConfigz(cz *configz.Config, kc *kubeletconfiginternal.KubeletConfigurati
if err != nil { if err != nil {
return err return err
} }
versioned := kubeletconfigv1alpha1.KubeletConfiguration{} versioned := kubeletconfigv1beta1.KubeletConfiguration{}
if err := scheme.Convert(kc, &versioned, nil); err != nil { if err := scheme.Convert(kc, &versioned, nil); err != nil {
return err return err
} }
......
...@@ -164,7 +164,7 @@ pkg/kubelet/apis/cri/runtime/v1alpha2 ...@@ -164,7 +164,7 @@ pkg/kubelet/apis/cri/runtime/v1alpha2
pkg/kubelet/apis/cri/testing pkg/kubelet/apis/cri/testing
pkg/kubelet/apis/deviceplugin/v1alpha pkg/kubelet/apis/deviceplugin/v1alpha
pkg/kubelet/apis/kubeletconfig pkg/kubelet/apis/kubeletconfig
pkg/kubelet/apis/kubeletconfig/v1alpha1 pkg/kubelet/apis/kubeletconfig/v1beta1
pkg/kubelet/cadvisor pkg/kubelet/cadvisor
pkg/kubelet/cadvisor/testing pkg/kubelet/cadvisor/testing
pkg/kubelet/client pkg/kubelet/client
......
...@@ -14,7 +14,7 @@ openapi_library( ...@@ -14,7 +14,7 @@ openapi_library(
"pkg/apis/abac/v0", "pkg/apis/abac/v0",
"pkg/apis/abac/v1beta1", "pkg/apis/abac/v1beta1",
"pkg/apis/componentconfig/v1alpha1", "pkg/apis/componentconfig/v1alpha1",
"pkg/kubelet/apis/kubeletconfig/v1alpha1", "pkg/kubelet/apis/kubeletconfig/v1beta1",
"pkg/proxy/apis/kubeproxyconfig/v1alpha1", "pkg/proxy/apis/kubeproxyconfig/v1alpha1",
"pkg/version", "pkg/version",
], ],
......
...@@ -36,7 +36,7 @@ filegroup( ...@@ -36,7 +36,7 @@ filegroup(
":package-srcs", ":package-srcs",
"//pkg/kubelet/apis/kubeletconfig/fuzzer:all-srcs", "//pkg/kubelet/apis/kubeletconfig/fuzzer:all-srcs",
"//pkg/kubelet/apis/kubeletconfig/scheme:all-srcs", "//pkg/kubelet/apis/kubeletconfig/scheme:all-srcs",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:all-srcs", "//pkg/kubelet/apis/kubeletconfig/v1beta1:all-srcs",
"//pkg/kubelet/apis/kubeletconfig/validation:all-srcs", "//pkg/kubelet/apis/kubeletconfig/validation:all-srcs",
], ],
tags = ["automanaged"], tags = ["automanaged"],
......
...@@ -7,7 +7,7 @@ go_library( ...@@ -7,7 +7,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/qos:go_default_library", "//pkg/kubelet/qos:go_default_library",
"//pkg/kubelet/types:go_default_library", "//pkg/kubelet/types:go_default_library",
"//pkg/master/ports:go_default_library", "//pkg/master/ports:go_default_library",
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
"k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/kubelet/qos"
kubetypes "k8s.io/kubernetes/pkg/kubelet/types" kubetypes "k8s.io/kubernetes/pkg/kubelet/types"
"k8s.io/kubernetes/pkg/master/ports" "k8s.io/kubernetes/pkg/master/ports"
...@@ -75,7 +75,7 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} { ...@@ -75,7 +75,7 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} {
obj.ContentType = "application/vnd.kubernetes.protobuf" obj.ContentType = "application/vnd.kubernetes.protobuf"
obj.KubeAPIQPS = 5 obj.KubeAPIQPS = 5
obj.KubeAPIBurst = 10 obj.KubeAPIBurst = 10
obj.HairpinMode = v1alpha1.PromiscuousBridge obj.HairpinMode = v1beta1.PromiscuousBridge
obj.EvictionHard = map[string]string{ obj.EvictionHard = map[string]string{
"memory.available": "100Mi", "memory.available": "100Mi",
"nodefs.available": "10%", "nodefs.available": "10%",
...@@ -84,11 +84,11 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} { ...@@ -84,11 +84,11 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} {
} }
obj.EvictionPressureTransitionPeriod = metav1.Duration{Duration: 5 * time.Minute} obj.EvictionPressureTransitionPeriod = metav1.Duration{Duration: 5 * time.Minute}
obj.MakeIPTablesUtilChains = true obj.MakeIPTablesUtilChains = true
obj.IPTablesMasqueradeBit = v1alpha1.DefaultIPTablesMasqueradeBit obj.IPTablesMasqueradeBit = v1beta1.DefaultIPTablesMasqueradeBit
obj.IPTablesDropBit = v1alpha1.DefaultIPTablesDropBit obj.IPTablesDropBit = v1beta1.DefaultIPTablesDropBit
obj.CgroupsPerQOS = true obj.CgroupsPerQOS = true
obj.CgroupDriver = "cgroupfs" obj.CgroupDriver = "cgroupfs"
obj.EnforceNodeAllocatable = v1alpha1.DefaultNodeAllocatableEnforcement obj.EnforceNodeAllocatable = v1beta1.DefaultNodeAllocatableEnforcement
obj.ManifestURLHeader = make(map[string][]string) obj.ManifestURLHeader = make(map[string][]string)
}, },
} }
......
...@@ -27,7 +27,7 @@ var ( ...@@ -27,7 +27,7 @@ var (
) )
// GroupName is the group name use in this package // GroupName is the group name use in this package
const GroupName = "kubeletconfig" const GroupName = "kubelet.config.k8s.io"
// SchemeGroupVersion is group version used to register these objects // SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal}
......
...@@ -7,7 +7,7 @@ go_library( ...@@ -7,7 +7,7 @@ go_library(
visibility = ["//visibility:public"], visibility = ["//visibility:public"],
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
], ],
......
...@@ -20,7 +20,7 @@ import ( ...@@ -20,7 +20,7 @@ import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/runtime/serializer"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
) )
// Utility functions for the Kubelet's kubeletconfig API group // Utility functions for the Kubelet's kubeletconfig API group
...@@ -32,7 +32,7 @@ func NewSchemeAndCodecs() (*runtime.Scheme, *serializer.CodecFactory, error) { ...@@ -32,7 +32,7 @@ func NewSchemeAndCodecs() (*runtime.Scheme, *serializer.CodecFactory, error) {
if err := kubeletconfig.AddToScheme(scheme); err != nil { if err := kubeletconfig.AddToScheme(scheme); err != nil {
return nil, nil, err return nil, nil, err
} }
if err := v1alpha1.AddToScheme(scheme); err != nil { if err := v1beta1.AddToScheme(scheme); err != nil {
return nil, nil, err return nil, nil, err
} }
codecs := serializer.NewCodecFactory(scheme) codecs := serializer.NewCodecFactory(scheme)
......
...@@ -16,7 +16,7 @@ go_library( ...@@ -16,7 +16,7 @@ go_library(
"zz_generated.deepcopy.go", "zz_generated.deepcopy.go",
"zz_generated.defaults.go", "zz_generated.defaults.go",
], ],
importpath = "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1", importpath = "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1",
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/qos:go_default_library", "//pkg/kubelet/qos:go_default_library",
......
...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and ...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package v1alpha1 package v1beta1
import ( import (
"time" "time"
...@@ -28,8 +28,6 @@ import ( ...@@ -28,8 +28,6 @@ import (
) )
const ( const (
DefaultRootDir = "/var/lib/kubelet"
DefaultIPTablesMasqueradeBit = 14 DefaultIPTablesMasqueradeBit = 14
DefaultIPTablesDropBit = 15 DefaultIPTablesDropBit = 15
) )
...@@ -45,11 +43,26 @@ func addDefaultingFuncs(scheme *kruntime.Scheme) error { ...@@ -45,11 +43,26 @@ func addDefaultingFuncs(scheme *kruntime.Scheme) error {
} }
func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) {
if obj.SyncFrequency == zeroDuration {
obj.SyncFrequency = metav1.Duration{Duration: 1 * time.Minute}
}
if obj.FileCheckFrequency == zeroDuration {
obj.FileCheckFrequency = metav1.Duration{Duration: 20 * time.Second}
}
if obj.HTTPCheckFrequency == zeroDuration {
obj.HTTPCheckFrequency = metav1.Duration{Duration: 20 * time.Second}
}
if obj.Address == "" {
obj.Address = "0.0.0.0"
}
if obj.Port == 0 {
obj.Port = ports.KubeletPort
}
if obj.Authentication.Anonymous.Enabled == nil { if obj.Authentication.Anonymous.Enabled == nil {
obj.Authentication.Anonymous.Enabled = boolVar(false) obj.Authentication.Anonymous.Enabled = utilpointer.BoolPtr(false)
} }
if obj.Authentication.Webhook.Enabled == nil { if obj.Authentication.Webhook.Enabled == nil {
obj.Authentication.Webhook.Enabled = boolVar(true) obj.Authentication.Webhook.Enabled = utilpointer.BoolPtr(true)
} }
if obj.Authentication.Webhook.CacheTTL == zeroDuration { if obj.Authentication.Webhook.CacheTTL == zeroDuration {
obj.Authentication.Webhook.CacheTTL = metav1.Duration{Duration: 2 * time.Minute} obj.Authentication.Webhook.CacheTTL = metav1.Duration{Duration: 2 * time.Minute}
...@@ -63,112 +76,95 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { ...@@ -63,112 +76,95 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) {
if obj.Authorization.Webhook.CacheUnauthorizedTTL == zeroDuration { if obj.Authorization.Webhook.CacheUnauthorizedTTL == zeroDuration {
obj.Authorization.Webhook.CacheUnauthorizedTTL = metav1.Duration{Duration: 30 * time.Second} obj.Authorization.Webhook.CacheUnauthorizedTTL = metav1.Duration{Duration: 30 * time.Second}
} }
if obj.Address == "" { if obj.RegistryPullQPS == nil {
obj.Address = "0.0.0.0" obj.RegistryPullQPS = utilpointer.Int32Ptr(5)
}
if obj.VolumeStatsAggPeriod == zeroDuration {
obj.VolumeStatsAggPeriod = metav1.Duration{Duration: time.Minute}
} }
if obj.RuntimeRequestTimeout == zeroDuration { if obj.RegistryBurst == 0 {
obj.RuntimeRequestTimeout = metav1.Duration{Duration: 2 * time.Minute} obj.RegistryBurst = 10
} }
if obj.CPUCFSQuota == nil { if obj.EventRecordQPS == nil {
obj.CPUCFSQuota = boolVar(true) obj.EventRecordQPS = utilpointer.Int32Ptr(5)
} }
if obj.EventBurst == 0 { if obj.EventBurst == 0 {
obj.EventBurst = 10 obj.EventBurst = 10
} }
if obj.EventRecordQPS == nil {
temp := int32(5)
obj.EventRecordQPS = &temp
}
if obj.EnableControllerAttachDetach == nil {
obj.EnableControllerAttachDetach = boolVar(true)
}
if obj.EnableDebuggingHandlers == nil { if obj.EnableDebuggingHandlers == nil {
obj.EnableDebuggingHandlers = boolVar(true) obj.EnableDebuggingHandlers = utilpointer.BoolPtr(true)
} }
if obj.FileCheckFrequency == zeroDuration { if obj.HealthzPort == nil {
obj.FileCheckFrequency = metav1.Duration{Duration: 20 * time.Second} obj.HealthzPort = utilpointer.Int32Ptr(10248)
} }
if obj.HealthzBindAddress == "" { if obj.HealthzBindAddress == "" {
obj.HealthzBindAddress = "127.0.0.1" obj.HealthzBindAddress = "127.0.0.1"
} }
if obj.HealthzPort == nil { if obj.OOMScoreAdj == nil {
obj.HealthzPort = utilpointer.Int32Ptr(10248) obj.OOMScoreAdj = utilpointer.Int32Ptr(int32(qos.KubeletOOMScoreAdj))
} }
if obj.HTTPCheckFrequency == zeroDuration { if obj.StreamingConnectionIdleTimeout == zeroDuration {
obj.HTTPCheckFrequency = metav1.Duration{Duration: 20 * time.Second} obj.StreamingConnectionIdleTimeout = metav1.Duration{Duration: 4 * time.Hour}
}
if obj.NodeStatusUpdateFrequency == zeroDuration {
obj.NodeStatusUpdateFrequency = metav1.Duration{Duration: 10 * time.Second}
} }
if obj.ImageMinimumGCAge == zeroDuration { if obj.ImageMinimumGCAge == zeroDuration {
obj.ImageMinimumGCAge = metav1.Duration{Duration: 2 * time.Minute} obj.ImageMinimumGCAge = metav1.Duration{Duration: 2 * time.Minute}
} }
if obj.ImageGCHighThresholdPercent == nil { if obj.ImageGCHighThresholdPercent == nil {
// default is below docker's default dm.min_free_space of 90% // default is below docker's default dm.min_free_space of 90%
temp := int32(85) obj.ImageGCHighThresholdPercent = utilpointer.Int32Ptr(85)
obj.ImageGCHighThresholdPercent = &temp
} }
if obj.ImageGCLowThresholdPercent == nil { if obj.ImageGCLowThresholdPercent == nil {
temp := int32(80) obj.ImageGCLowThresholdPercent = utilpointer.Int32Ptr(80)
obj.ImageGCLowThresholdPercent = &temp
}
if obj.MaxOpenFiles == 0 {
obj.MaxOpenFiles = 1000000
} }
if obj.MaxPods == 0 { if obj.VolumeStatsAggPeriod == zeroDuration {
obj.MaxPods = 110 obj.VolumeStatsAggPeriod = metav1.Duration{Duration: time.Minute}
} }
if obj.PodPidsLimit == nil { if obj.CgroupsPerQOS == nil {
temp := int64(-1) obj.CgroupsPerQOS = utilpointer.BoolPtr(true)
obj.PodPidsLimit = &temp
} }
if obj.NodeStatusUpdateFrequency == zeroDuration { if obj.CgroupDriver == "" {
obj.NodeStatusUpdateFrequency = metav1.Duration{Duration: 10 * time.Second} obj.CgroupDriver = "cgroupfs"
} }
if obj.CPUManagerPolicy == "" { if obj.CPUManagerPolicy == "" {
obj.CPUManagerPolicy = "none" obj.CPUManagerPolicy = "none"
} }
if obj.CPUManagerReconcilePeriod == zeroDuration { if obj.CPUManagerReconcilePeriod == zeroDuration {
obj.CPUManagerReconcilePeriod = obj.NodeStatusUpdateFrequency // Keep the same as default NodeStatusUpdateFrequency
obj.CPUManagerReconcilePeriod = metav1.Duration{Duration: 10 * time.Second}
} }
if obj.OOMScoreAdj == nil { if obj.RuntimeRequestTimeout == zeroDuration {
temp := int32(qos.KubeletOOMScoreAdj) obj.RuntimeRequestTimeout = metav1.Duration{Duration: 2 * time.Minute}
obj.OOMScoreAdj = &temp
} }
if obj.Port == 0 { if obj.HairpinMode == "" {
obj.Port = ports.KubeletPort obj.HairpinMode = PromiscuousBridge
} }
if obj.RegistryBurst == 0 { if obj.MaxPods == 0 {
obj.RegistryBurst = 10 obj.MaxPods = 110
} }
if obj.RegistryPullQPS == nil { if obj.PodPidsLimit == nil {
temp := int32(5) temp := int64(-1)
obj.RegistryPullQPS = &temp obj.PodPidsLimit = &temp
} }
if obj.ResolverConfig == "" { if obj.ResolverConfig == "" {
obj.ResolverConfig = kubetypes.ResolvConfDefault obj.ResolverConfig = kubetypes.ResolvConfDefault
} }
if obj.SerializeImagePulls == nil { if obj.CPUCFSQuota == nil {
obj.SerializeImagePulls = boolVar(true) obj.CPUCFSQuota = utilpointer.BoolPtr(true)
}
if obj.StreamingConnectionIdleTimeout == zeroDuration {
obj.StreamingConnectionIdleTimeout = metav1.Duration{Duration: 4 * time.Hour}
} }
if obj.SyncFrequency == zeroDuration { if obj.MaxOpenFiles == 0 {
obj.SyncFrequency = metav1.Duration{Duration: 1 * time.Minute} obj.MaxOpenFiles = 1000000
} }
if obj.ContentType == "" { if obj.ContentType == "" {
obj.ContentType = "application/vnd.kubernetes.protobuf" obj.ContentType = "application/vnd.kubernetes.protobuf"
} }
if obj.KubeAPIQPS == nil { if obj.KubeAPIQPS == nil {
temp := int32(5) obj.KubeAPIQPS = utilpointer.Int32Ptr(5)
obj.KubeAPIQPS = &temp
} }
if obj.KubeAPIBurst == 0 { if obj.KubeAPIBurst == 0 {
obj.KubeAPIBurst = 10 obj.KubeAPIBurst = 10
} }
if string(obj.HairpinMode) == "" { if obj.SerializeImagePulls == nil {
obj.HairpinMode = PromiscuousBridge obj.SerializeImagePulls = utilpointer.BoolPtr(true)
} }
if obj.EvictionHard == nil { if obj.EvictionHard == nil {
obj.EvictionHard = map[string]string{ obj.EvictionHard = map[string]string{
...@@ -181,36 +177,22 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) { ...@@ -181,36 +177,22 @@ func SetDefaults_KubeletConfiguration(obj *KubeletConfiguration) {
if obj.EvictionPressureTransitionPeriod == zeroDuration { if obj.EvictionPressureTransitionPeriod == zeroDuration {
obj.EvictionPressureTransitionPeriod = metav1.Duration{Duration: 5 * time.Minute} obj.EvictionPressureTransitionPeriod = metav1.Duration{Duration: 5 * time.Minute}
} }
if obj.EnableControllerAttachDetach == nil {
obj.EnableControllerAttachDetach = utilpointer.BoolPtr(true)
}
if obj.MakeIPTablesUtilChains == nil { if obj.MakeIPTablesUtilChains == nil {
obj.MakeIPTablesUtilChains = boolVar(true) obj.MakeIPTablesUtilChains = utilpointer.BoolPtr(true)
} }
if obj.IPTablesMasqueradeBit == nil { if obj.IPTablesMasqueradeBit == nil {
temp := int32(DefaultIPTablesMasqueradeBit) obj.IPTablesMasqueradeBit = utilpointer.Int32Ptr(DefaultIPTablesMasqueradeBit)
obj.IPTablesMasqueradeBit = &temp
} }
if obj.IPTablesDropBit == nil { if obj.IPTablesDropBit == nil {
temp := int32(DefaultIPTablesDropBit) obj.IPTablesDropBit = utilpointer.Int32Ptr(DefaultIPTablesDropBit)
obj.IPTablesDropBit = &temp
} }
if obj.FailSwapOn == nil { if obj.FailSwapOn == nil {
obj.FailSwapOn = utilpointer.BoolPtr(true) obj.FailSwapOn = utilpointer.BoolPtr(true)
} }
if obj.CgroupsPerQOS == nil {
temp := true
obj.CgroupsPerQOS = &temp
}
if obj.CgroupDriver == "" {
obj.CgroupDriver = "cgroupfs"
}
if obj.EnforceNodeAllocatable == nil { if obj.EnforceNodeAllocatable == nil {
obj.EnforceNodeAllocatable = DefaultNodeAllocatableEnforcement obj.EnforceNodeAllocatable = DefaultNodeAllocatableEnforcement
} }
} }
func boolVar(b bool) *bool {
return &b
}
var (
defaultCfg = KubeletConfiguration{}
)
...@@ -19,4 +19,4 @@ limitations under the License. ...@@ -19,4 +19,4 @@ limitations under the License.
// +k8s:openapi-gen=true // +k8s:openapi-gen=true
// +k8s:defaulter-gen=TypeMeta // +k8s:defaulter-gen=TypeMeta
package v1alpha1 // import "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" package v1beta1 // import "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and ...@@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
limitations under the License. limitations under the License.
*/ */
package v1alpha1 package v1beta1
import ( import (
"k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime"
...@@ -22,10 +22,10 @@ import ( ...@@ -22,10 +22,10 @@ import (
) )
// GroupName is the group name use in this package // GroupName is the group name use in this package
const GroupName = "kubeletconfig" const GroupName = "kubelet.config.k8s.io"
// SchemeGroupVersion is group version used to register these objects // SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
var ( var (
// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
......
...@@ -18,7 +18,7 @@ limitations under the License. ...@@ -18,7 +18,7 @@ limitations under the License.
// This file was autogenerated by deepcopy-gen. Do not edit it manually! // This file was autogenerated by deepcopy-gen. Do not edit it manually!
package v1alpha1 package v1beta1
import ( import (
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
......
...@@ -18,7 +18,7 @@ limitations under the License. ...@@ -18,7 +18,7 @@ limitations under the License.
// This file was autogenerated by defaulter-gen. Do not edit it manually! // This file was autogenerated by defaulter-gen. Do not edit it manually!
package v1alpha1 package v1beta1
import ( import (
runtime "k8s.io/apimachinery/pkg/runtime" runtime "k8s.io/apimachinery/pkg/runtime"
......
...@@ -18,7 +18,7 @@ go_test( ...@@ -18,7 +18,7 @@ go_test(
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/kubeletconfig/util/codec:go_default_library", "//pkg/kubelet/kubeletconfig/util/codec:go_default_library",
"//pkg/kubelet/kubeletconfig/util/test:go_default_library", "//pkg/kubelet/kubeletconfig/util/test:go_default_library",
"//vendor/github.com/davecgh/go-spew/spew:go_default_library", "//vendor/github.com/davecgh/go-spew/spew:go_default_library",
......
...@@ -65,7 +65,6 @@ func (c *configMapCheckpoint) Parse() (*kubeletconfig.KubeletConfiguration, erro ...@@ -65,7 +65,6 @@ func (c *configMapCheckpoint) Parse() (*kubeletconfig.KubeletConfiguration, erro
return nil, fmt.Errorf(emptyCfgErr) return nil, fmt.Errorf(emptyCfgErr)
} }
// TODO(mtaufen): Once the KubeletConfiguration type is decomposed, extend this to a key for each sub-object
config, ok := c.configMap.Data[configMapConfigKey] config, ok := c.configMap.Data[configMapConfigKey]
if !ok { if !ok {
return nil, fmt.Errorf("key %q not found in ConfigMap", configMapConfigKey) return nil, fmt.Errorf("key %q not found in ConfigMap", configMapConfigKey)
......
...@@ -28,7 +28,7 @@ import ( ...@@ -28,7 +28,7 @@ import (
"k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/types"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
utiltest "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/test" utiltest "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/test"
) )
...@@ -94,7 +94,7 @@ func TestConfigMapCheckpointParse(t *testing.T) { ...@@ -94,7 +94,7 @@ func TestConfigMapCheckpointParse(t *testing.T) {
} }
// get the built-in default configuration // get the built-in default configuration
external := &kubeletconfigv1alpha1.KubeletConfiguration{} external := &kubeletconfigv1beta1.KubeletConfiguration{}
kubeletScheme.Default(external) kubeletScheme.Default(external)
defaultConfig := &kubeletconfig.KubeletConfiguration{} defaultConfig := &kubeletconfig.KubeletConfiguration{}
err = kubeletScheme.Convert(external, defaultConfig, nil) err = kubeletScheme.Convert(external, defaultConfig, nil)
...@@ -119,19 +119,19 @@ func TestConfigMapCheckpointParse(t *testing.T) { ...@@ -119,19 +119,19 @@ func TestConfigMapCheckpointParse(t *testing.T) {
"kubelet": "{*"}}, nil, "failed to decode"}, "kubelet": "{*"}}, nil, "failed to decode"},
// invalid object // invalid object
{"missing kind", &apiv1.ConfigMap{Data: map[string]string{ {"missing kind", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `{"apiVersion":"kubeletconfig/v1alpha1"}`}}, nil, "failed to decode"}, "kubelet": `{"apiVersion":"kubelet.config.k8s.io/v1beta1"}`}}, nil, "failed to decode"},
{"missing version", &apiv1.ConfigMap{Data: map[string]string{ {"missing version", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `{"kind":"KubeletConfiguration"}`}}, nil, "failed to decode"}, "kubelet": `{"kind":"KubeletConfiguration"}`}}, nil, "failed to decode"},
{"unregistered kind", &apiv1.ConfigMap{Data: map[string]string{ {"unregistered kind", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `{"kind":"BogusKind","apiVersion":"kubeletconfig/v1alpha1"}`}}, nil, "failed to decode"}, "kubelet": `{"kind":"BogusKind","apiVersion":"kubelet.config.k8s.io/v1beta1"}`}}, nil, "failed to decode"},
{"unregistered version", &apiv1.ConfigMap{Data: map[string]string{ {"unregistered version", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `{"kind":"KubeletConfiguration","apiVersion":"bogusversion"}`}}, nil, "failed to decode"}, "kubelet": `{"kind":"KubeletConfiguration","apiVersion":"bogusversion"}`}}, nil, "failed to decode"},
// empty object with correct kind and version should result in the defaults for that kind and version // empty object with correct kind and version should result in the defaults for that kind and version
{"default from yaml", &apiv1.ConfigMap{Data: map[string]string{ {"default from yaml", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `kind: KubeletConfiguration "kubelet": `kind: KubeletConfiguration
apiVersion: kubeletconfig/v1alpha1`}}, defaultConfig, ""}, apiVersion: kubelet.config.k8s.io/v1beta1`}}, defaultConfig, ""},
{"default from json", &apiv1.ConfigMap{Data: map[string]string{ {"default from json", &apiv1.ConfigMap{Data: map[string]string{
"kubelet": `{"kind":"KubeletConfiguration","apiVersion":"kubeletconfig/v1alpha1"}`}}, defaultConfig, ""}, "kubelet": `{"kind":"KubeletConfiguration","apiVersion":"kubelet.config.k8s.io/v1beta1"}`}}, defaultConfig, ""},
} }
for _, c := range cases { for _, c := range cases {
cpt := &configMapCheckpoint{kubeletCodecs, c.cm} cpt := &configMapCheckpoint{kubeletCodecs, c.cm}
......
...@@ -40,7 +40,7 @@ go_test( ...@@ -40,7 +40,7 @@ go_test(
deps = [ deps = [
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/kubeletconfig/util/files:go_default_library", "//pkg/kubelet/kubeletconfig/util/files:go_default_library",
"//pkg/kubelet/kubeletconfig/util/test:go_default_library", "//pkg/kubelet/kubeletconfig/util/test:go_default_library",
"//pkg/util/filesystem:go_default_library", "//pkg/util/filesystem:go_default_library",
......
...@@ -24,7 +24,7 @@ import ( ...@@ -24,7 +24,7 @@ import (
apiequality "k8s.io/apimachinery/pkg/api/equality" apiequality "k8s.io/apimachinery/pkg/api/equality"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
utilfiles "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/files" utilfiles "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/files"
utiltest "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/test" utiltest "k8s.io/kubernetes/pkg/kubelet/kubeletconfig/util/test"
utilfs "k8s.io/kubernetes/pkg/util/filesystem" utilfs "k8s.io/kubernetes/pkg/util/filesystem"
...@@ -71,7 +71,7 @@ func TestLoad(t *testing.T) { ...@@ -71,7 +71,7 @@ func TestLoad(t *testing.T) {
// invalid object // invalid object
{ {
"missing kind", "missing kind",
newString(`{"apiVersion":"kubeletconfig/v1alpha1"}`), newString(`{"apiVersion":"kubelet.config.k8s.io/v1beta1"}`),
nil, nil,
"failed to decode", "failed to decode",
}, },
...@@ -83,7 +83,7 @@ func TestLoad(t *testing.T) { ...@@ -83,7 +83,7 @@ func TestLoad(t *testing.T) {
}, },
{ {
"unregistered kind", "unregistered kind",
newString(`{"kind":"BogusKind","apiVersion":"kubeletconfig/v1alpha1"}`), newString(`{"kind":"BogusKind","apiVersion":"kubelet.config.k8s.io/v1beta1"}`),
nil, nil,
"failed to decode", "failed to decode",
}, },
...@@ -98,13 +98,13 @@ func TestLoad(t *testing.T) { ...@@ -98,13 +98,13 @@ func TestLoad(t *testing.T) {
{ {
"default from yaml", "default from yaml",
newString(`kind: KubeletConfiguration newString(`kind: KubeletConfiguration
apiVersion: kubeletconfig/v1alpha1`), apiVersion: kubelet.config.k8s.io/v1beta1`),
newConfig(t), newConfig(t),
"", "",
}, },
{ {
"default from json", "default from json",
newString(`{"kind":"KubeletConfiguration","apiVersion":"kubeletconfig/v1alpha1"}`), newString(`{"kind":"KubeletConfiguration","apiVersion":"kubelet.config.k8s.io/v1beta1"}`),
newConfig(t), newConfig(t),
"", "",
}, },
...@@ -113,7 +113,7 @@ apiVersion: kubeletconfig/v1alpha1`), ...@@ -113,7 +113,7 @@ apiVersion: kubeletconfig/v1alpha1`),
{ {
"yaml, relative path is resolved", "yaml, relative path is resolved",
newString(fmt.Sprintf(`kind: KubeletConfiguration newString(fmt.Sprintf(`kind: KubeletConfiguration
apiVersion: kubeletconfig/v1alpha1 apiVersion: kubelet.config.k8s.io/v1beta1
podManifestPath: %s`, relativePath)), podManifestPath: %s`, relativePath)),
func() *kubeletconfig.KubeletConfiguration { func() *kubeletconfig.KubeletConfiguration {
kc := newConfig(t) kc := newConfig(t)
...@@ -124,7 +124,7 @@ podManifestPath: %s`, relativePath)), ...@@ -124,7 +124,7 @@ podManifestPath: %s`, relativePath)),
}, },
{ {
"json, relative path is resolved", "json, relative path is resolved",
newString(fmt.Sprintf(`{"kind":"KubeletConfiguration","apiVersion":"kubeletconfig/v1alpha1","podManifestPath":"%s"}`, relativePath)), newString(fmt.Sprintf(`{"kind":"KubeletConfiguration","apiVersion":"kubelet.config.k8s.io/v1beta1","podManifestPath":"%s"}`, relativePath)),
func() *kubeletconfig.KubeletConfiguration { func() *kubeletconfig.KubeletConfiguration {
kc := newConfig(t) kc := newConfig(t)
kc.PodManifestPath = filepath.Join(configDir, relativePath) kc.PodManifestPath = filepath.Join(configDir, relativePath)
...@@ -155,7 +155,6 @@ podManifestPath: %s`, relativePath)), ...@@ -155,7 +155,6 @@ podManifestPath: %s`, relativePath)),
t.Fatalf("expect %#v but got %#v", *c.expect, *kc) t.Fatalf("expect %#v but got %#v", *c.expect, *kc)
} }
}) })
} }
} }
...@@ -204,7 +203,7 @@ func newConfig(t *testing.T) *kubeletconfig.KubeletConfiguration { ...@@ -204,7 +203,7 @@ func newConfig(t *testing.T) *kubeletconfig.KubeletConfiguration {
t.Fatalf("unexpected error: %v", err) t.Fatalf("unexpected error: %v", err)
} }
// get the built-in default configuration // get the built-in default configuration
external := &kubeletconfigv1alpha1.KubeletConfiguration{} external := &kubeletconfigv1beta1.KubeletConfiguration{}
kubeletScheme.Default(external) kubeletScheme.Default(external)
kc := &kubeletconfig.KubeletConfiguration{} kc := &kubeletconfig.KubeletConfiguration{}
err = kubeletScheme.Convert(external, kc, nil) err = kubeletScheme.Convert(external, kc, nil)
......
...@@ -33,7 +33,7 @@ go_library( ...@@ -33,7 +33,7 @@ go_library(
"//pkg/kubelet/apis/deviceplugin/v1alpha:go_default_library", "//pkg/kubelet/apis/deviceplugin/v1alpha:go_default_library",
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//pkg/kubelet/apis/stats/v1alpha1:go_default_library", "//pkg/kubelet/apis/stats/v1alpha1:go_default_library",
"//pkg/kubelet/cm/devicemanager:go_default_library", "//pkg/kubelet/cm/devicemanager:go_default_library",
"//pkg/kubelet/metrics:go_default_library", "//pkg/kubelet/metrics:go_default_library",
......
...@@ -28,7 +28,7 @@ go_library( ...@@ -28,7 +28,7 @@ go_library(
"//pkg/features:go_default_library", "//pkg/features:go_default_library",
"//pkg/kubelet/apis/kubeletconfig:go_default_library", "//pkg/kubelet/apis/kubeletconfig:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library", "//pkg/kubelet/apis/kubeletconfig/scheme:go_default_library",
"//pkg/kubelet/apis/kubeletconfig/v1alpha1:go_default_library", "//pkg/kubelet/apis/kubeletconfig/v1beta1:go_default_library",
"//test/e2e/framework:go_default_library", "//test/e2e/framework:go_default_library",
"//test/e2e_node/builder:go_default_library", "//test/e2e_node/builder:go_default_library",
"//vendor/github.com/coreos/etcd/etcdserver:go_default_library", "//vendor/github.com/coreos/etcd/etcdserver:go_default_library",
......
...@@ -38,7 +38,7 @@ import ( ...@@ -38,7 +38,7 @@ import (
"k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
"k8s.io/kubernetes/test/e2e/framework" "k8s.io/kubernetes/test/e2e/framework"
"k8s.io/kubernetes/test/e2e_node/builder" "k8s.io/kubernetes/test/e2e_node/builder"
) )
...@@ -357,7 +357,7 @@ func addKubeletConfigFlags(cmdArgs *[]string, kc *kubeletconfig.KubeletConfigura ...@@ -357,7 +357,7 @@ func addKubeletConfigFlags(cmdArgs *[]string, kc *kubeletconfig.KubeletConfigura
// writeKubeletConfigFile writes the kubelet config file based on the args and returns the filename // writeKubeletConfigFile writes the kubelet config file based on the args and returns the filename
func writeKubeletConfigFile(internal *kubeletconfig.KubeletConfiguration, path string) error { func writeKubeletConfigFile(internal *kubeletconfig.KubeletConfiguration, path string) error {
// extract the KubeletConfiguration and convert to versioned // extract the KubeletConfiguration and convert to versioned
versioned := &v1alpha1.KubeletConfiguration{} versioned := &v1beta1.KubeletConfiguration{}
scheme, _, err := scheme.NewSchemeAndCodecs() scheme, _, err := scheme.NewSchemeAndCodecs()
if err != nil { if err != nil {
return err return err
...@@ -397,7 +397,7 @@ func newKubeletConfigJSONEncoder() (runtime.Encoder, error) { ...@@ -397,7 +397,7 @@ func newKubeletConfigJSONEncoder() (runtime.Encoder, error) {
if !ok { if !ok {
return nil, fmt.Errorf("unsupported media type %q", mediaType) return nil, fmt.Errorf("unsupported media type %q", mediaType)
} }
return kubeletCodecs.EncoderForVersion(info.Serializer, v1alpha1.SchemeGroupVersion), nil return kubeletCodecs.EncoderForVersion(info.Serializer, v1beta1.SchemeGroupVersion), nil
} }
// createPodManifestDirectory creates pod manifest directory. // createPodManifestDirectory creates pod manifest directory.
......
...@@ -39,7 +39,7 @@ import ( ...@@ -39,7 +39,7 @@ import (
internalapi "k8s.io/kubernetes/pkg/kubelet/apis/cri" internalapi "k8s.io/kubernetes/pkg/kubelet/apis/cri"
"k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig"
kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme"
kubeletconfigv1alpha1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1"
stats "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1" stats "k8s.io/kubernetes/pkg/kubelet/apis/stats/v1alpha1"
kubeletmetrics "k8s.io/kubernetes/pkg/kubelet/metrics" kubeletmetrics "k8s.io/kubernetes/pkg/kubelet/metrics"
"k8s.io/kubernetes/pkg/kubelet/remote" "k8s.io/kubernetes/pkg/kubelet/remote"
...@@ -257,9 +257,9 @@ func pollConfigz(timeout time.Duration, pollInterval time.Duration) *http.Respon ...@@ -257,9 +257,9 @@ func pollConfigz(timeout time.Duration, pollInterval time.Duration) *http.Respon
// Decodes the http response from /configz and returns a kubeletconfig.KubeletConfiguration (internal type). // Decodes the http response from /configz and returns a kubeletconfig.KubeletConfiguration (internal type).
func decodeConfigz(resp *http.Response) (*kubeletconfig.KubeletConfiguration, error) { func decodeConfigz(resp *http.Response) (*kubeletconfig.KubeletConfiguration, error) {
// This hack because /configz reports the following structure: // This hack because /configz reports the following structure:
// {"kubeletconfig": {the JSON representation of kubeletconfigv1alpha1.KubeletConfiguration}} // {"kubeletconfig": {the JSON representation of kubeletconfigv1beta1.KubeletConfiguration}}
type configzWrapper struct { type configzWrapper struct {
ComponentConfig kubeletconfigv1alpha1.KubeletConfiguration `json:"kubeletconfig"` ComponentConfig kubeletconfigv1beta1.KubeletConfiguration `json:"kubeletconfig"`
} }
configz := configzWrapper{} configz := configzWrapper{}
...@@ -298,7 +298,7 @@ func newKubeletConfigMap(name string, internalKC *kubeletconfig.KubeletConfigura ...@@ -298,7 +298,7 @@ func newKubeletConfigMap(name string, internalKC *kubeletconfig.KubeletConfigura
scheme, _, err := kubeletscheme.NewSchemeAndCodecs() scheme, _, err := kubeletscheme.NewSchemeAndCodecs()
framework.ExpectNoError(err) framework.ExpectNoError(err)
versioned := &kubeletconfigv1alpha1.KubeletConfiguration{} versioned := &kubeletconfigv1beta1.KubeletConfiguration{}
err = scheme.Convert(internalKC, versioned, nil) err = scheme.Convert(internalKC, versioned, nil)
framework.ExpectNoError(err) framework.ExpectNoError(err)
...@@ -360,7 +360,7 @@ func newKubeletConfigJSONEncoder() (runtime.Encoder, error) { ...@@ -360,7 +360,7 @@ func newKubeletConfigJSONEncoder() (runtime.Encoder, error) {
if !ok { if !ok {
return nil, fmt.Errorf("unsupported media type %q", mediaType) return nil, fmt.Errorf("unsupported media type %q", mediaType)
} }
return kubeletCodecs.EncoderForVersion(info.Serializer, kubeletconfigv1alpha1.SchemeGroupVersion), nil return kubeletCodecs.EncoderForVersion(info.Serializer, kubeletconfigv1beta1.SchemeGroupVersion), nil
} }
// runCommand runs the cmd and returns the combined stdout and stderr, or an // runCommand runs the cmd and returns the combined stdout and stderr, or an
......
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