From 3594d2ca3983c16abd9f00f9235949dda2f3ce7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= Date: Sun, 8 Jul 2018 09:50:10 +0300 Subject: [PATCH] Update unit tests --- cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go | 105 +++++----- .../kubeadm/validation/validation_test.go | 192 +++++++++--------- .../app/phases/addons/proxy/proxy_test.go | 8 +- cmd/kubeadm/app/phases/kubelet/config_test.go | 6 +- 4 files changed, 154 insertions(+), 157 deletions(-) diff --git a/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go index 4478c92d1e7..592401c2a80 100644 --- a/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go +++ b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go @@ -25,8 +25,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" + kubeletconfigscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" + "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig" utilpointer "k8s.io/kubernetes/pkg/util/pointer" ) @@ -81,60 +83,59 @@ func Funcs(codecs runtimeserializer.CodecFactory) []interface{} { Name: "foo", Taints: []v1.Taint{}, } - obj.KubeletConfiguration = kubeadm.KubeletConfiguration{ - BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{ - StaticPodPath: "foo", - ClusterDNS: []string{"foo"}, - ClusterDomain: "foo", - Authorization: kubeletconfigv1beta1.KubeletAuthorization{ - Mode: "Webhook", - }, - Authentication: kubeletconfigv1beta1.KubeletAuthentication{ - X509: kubeletconfigv1beta1.KubeletX509Authentication{ - ClientCAFile: "/etc/kubernetes/pki/ca.crt", - }, - Anonymous: kubeletconfigv1beta1.KubeletAnonymousAuthentication{ - Enabled: utilpointer.BoolPtr(false), - }, - }, - RotateCertificates: true, + extkubeletconfig := &kubeletconfigv1beta1.KubeletConfiguration{ + StaticPodPath: "foo", + ClusterDNS: []string{"foo"}, + ClusterDomain: "foo", + Authorization: kubeletconfigv1beta1.KubeletAuthorization{ + Mode: "Webhook", }, + Authentication: kubeletconfigv1beta1.KubeletAuthentication{ + X509: kubeletconfigv1beta1.KubeletX509Authentication{ + ClientCAFile: "/etc/kubernetes/pki/ca.crt", + }, + Anonymous: kubeletconfigv1beta1.KubeletAnonymousAuthentication{ + Enabled: utilpointer.BoolPtr(false), + }, + }, + RotateCertificates: true, } - kubeletconfigv1beta1.SetDefaults_KubeletConfiguration(obj.KubeletConfiguration.BaseConfig) - obj.KubeProxy = kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ - FeatureGates: map[string]bool{"foo": true}, - BindAddress: "foo", - HealthzBindAddress: "foo:10256", - MetricsBindAddress: "foo:", - EnableProfiling: bool(true), - ClusterCIDR: "foo", - HostnameOverride: "foo", - ClientConnection: kubeproxyconfigv1alpha1.ClientConnectionConfiguration{ - KubeConfigFile: "foo", - AcceptContentTypes: "foo", - ContentType: "foo", - QPS: float32(5), - Burst: 10, - }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ - SyncPeriod: metav1.Duration{Duration: 1}, - }, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ - MasqueradeBit: utilpointer.Int32Ptr(0), - SyncPeriod: metav1.Duration{Duration: 1}, - }, - OOMScoreAdj: utilpointer.Int32Ptr(0), - ResourceContainer: "foo", - UDPIdleTimeout: metav1.Duration{Duration: 1}, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ - MaxPerCore: utilpointer.Int32Ptr(2), - Min: utilpointer.Int32Ptr(1), - TCPEstablishedTimeout: &metav1.Duration{Duration: 5}, - TCPCloseWaitTimeout: &metav1.Duration{Duration: 5}, - }, - ConfigSyncPeriod: metav1.Duration{Duration: 1}, + obj.ComponentConfigs.Kubelet = &kubeletconfig.KubeletConfiguration{} + kubeletconfigv1beta1.SetDefaults_KubeletConfiguration(extkubeletconfig) + scheme, _, _ := kubeletconfigscheme.NewSchemeAndCodecs() + scheme.Convert(extkubeletconfig, obj.ComponentConfigs.Kubelet, nil) + obj.ComponentConfigs.KubeProxy = &kubeproxyconfig.KubeProxyConfiguration{ + FeatureGates: map[string]bool{"foo": true}, + BindAddress: "foo", + HealthzBindAddress: "foo:10256", + MetricsBindAddress: "foo:", + EnableProfiling: bool(true), + ClusterCIDR: "foo", + HostnameOverride: "foo", + ClientConnection: kubeproxyconfig.ClientConnectionConfiguration{ + KubeConfigFile: "foo", + AcceptContentTypes: "foo", + ContentType: "foo", + QPS: float32(5), + Burst: 10, }, + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ + SyncPeriod: metav1.Duration{Duration: 1}, + }, + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ + MasqueradeBit: utilpointer.Int32Ptr(0), + SyncPeriod: metav1.Duration{Duration: 1}, + }, + OOMScoreAdj: utilpointer.Int32Ptr(0), + ResourceContainer: "foo", + UDPIdleTimeout: metav1.Duration{Duration: 1}, + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ + MaxPerCore: utilpointer.Int32Ptr(2), + Min: utilpointer.Int32Ptr(1), + TCPEstablishedTimeout: &metav1.Duration{Duration: 5}, + TCPCloseWaitTimeout: &metav1.Duration{Duration: 5}, + }, + ConfigSyncPeriod: metav1.Duration{Duration: 1}, } obj.AuditPolicyConfiguration = kubeadm.AuditPolicyConfiguration{ Path: "foo", diff --git a/cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go b/cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go index 151cde50b0a..75e81e7ac16 100644 --- a/cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go +++ b/cmd/kubeadm/app/apis/kubeadm/validation/validation_test.go @@ -28,8 +28,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" + "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" + "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig" utilpointer "k8s.io/kubernetes/pkg/util/pointer" ) @@ -467,24 +467,24 @@ func TestValidateMasterConfiguration(t *testing.T) { DataDir: "/some/path", }, }, - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "192.168.59.103", HealthzBindAddress: "0.0.0.0:10256", MetricsBindAddress: "127.0.0.1:10249", ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -512,24 +512,24 @@ func TestValidateMasterConfiguration(t *testing.T) { DataDir: "/some/path", }, }, - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "192.168.59.103", HealthzBindAddress: "0.0.0.0:10256", MetricsBindAddress: "127.0.0.1:10249", ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -679,60 +679,56 @@ func TestValidateIgnorePreflightErrors(t *testing.T) { } func TestValidateKubeletConfiguration(t *testing.T) { - successCase := &kubeadm.KubeletConfiguration{ - BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{ - CgroupsPerQOS: utilpointer.BoolPtr(true), - EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved"}, - SystemCgroups: "", - CgroupRoot: "", - EventBurst: 10, - EventRecordQPS: utilpointer.Int32Ptr(5), - HealthzPort: utilpointer.Int32Ptr(10248), - ImageGCHighThresholdPercent: utilpointer.Int32Ptr(85), - ImageGCLowThresholdPercent: utilpointer.Int32Ptr(80), - IPTablesDropBit: utilpointer.Int32Ptr(15), - IPTablesMasqueradeBit: utilpointer.Int32Ptr(14), - KubeAPIBurst: 10, - KubeAPIQPS: utilpointer.Int32Ptr(5), - MaxOpenFiles: 1000000, - MaxPods: 110, - OOMScoreAdj: utilpointer.Int32Ptr(-999), - PodsPerCore: 100, - Port: 65535, - ReadOnlyPort: 0, - RegistryBurst: 10, - RegistryPullQPS: utilpointer.Int32Ptr(5), - HairpinMode: "promiscuous-bridge", - }, + successCase := &kubeletconfig.KubeletConfiguration{ + CgroupsPerQOS: true, + EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved"}, + SystemCgroups: "", + CgroupRoot: "", + EventBurst: 10, + EventRecordQPS: 5, + HealthzPort: 10248, + ImageGCHighThresholdPercent: 85, + ImageGCLowThresholdPercent: 80, + IPTablesDropBit: 15, + IPTablesMasqueradeBit: 14, + KubeAPIBurst: 10, + KubeAPIQPS: 5, + MaxOpenFiles: 1000000, + MaxPods: 110, + OOMScoreAdj: -999, + PodsPerCore: 100, + Port: 65535, + ReadOnlyPort: 0, + RegistryBurst: 10, + RegistryPullQPS: 5, + HairpinMode: "promiscuous-bridge", } if allErrors := ValidateKubeletConfiguration(successCase, nil); len(allErrors) != 0 { t.Errorf("failed ValidateKubeletConfiguration: expect no errors but got %v", allErrors) } - errorCase := &kubeadm.KubeletConfiguration{ - BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{ - CgroupsPerQOS: utilpointer.BoolPtr(false), - EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved", "illegal-key"}, - SystemCgroups: "/", - CgroupRoot: "", - EventBurst: -10, - EventRecordQPS: utilpointer.Int32Ptr(-10), - HealthzPort: utilpointer.Int32Ptr(-10), - ImageGCHighThresholdPercent: utilpointer.Int32Ptr(101), - ImageGCLowThresholdPercent: utilpointer.Int32Ptr(101), - IPTablesDropBit: utilpointer.Int32Ptr(-10), - IPTablesMasqueradeBit: utilpointer.Int32Ptr(-10), - KubeAPIBurst: -10, - KubeAPIQPS: utilpointer.Int32Ptr(-10), - MaxOpenFiles: -10, - MaxPods: -10, - OOMScoreAdj: utilpointer.Int32Ptr(-1001), - PodsPerCore: -10, - Port: 0, - ReadOnlyPort: -10, - RegistryBurst: -10, - RegistryPullQPS: utilpointer.Int32Ptr(-10), - }, + errorCase := &kubeletconfig.KubeletConfiguration{ + CgroupsPerQOS: false, + EnforceNodeAllocatable: []string{"pods", "system-reserved", "kube-reserved", "illegal-key"}, + SystemCgroups: "/", + CgroupRoot: "", + EventBurst: -10, + EventRecordQPS: -10, + HealthzPort: -10, + ImageGCHighThresholdPercent: 101, + ImageGCLowThresholdPercent: 101, + IPTablesDropBit: -10, + IPTablesMasqueradeBit: -10, + KubeAPIBurst: -10, + KubeAPIQPS: -10, + MaxOpenFiles: -10, + MaxPods: -10, + OOMScoreAdj: -1001, + PodsPerCore: -10, + Port: 0, + ReadOnlyPort: -10, + RegistryBurst: -10, + RegistryPullQPS: -10, } if allErrors := ValidateKubeletConfiguration(errorCase, nil); len(allErrors) == 0 { t.Errorf("failed ValidateKubeletConfiguration: expect errors but got no error") @@ -742,24 +738,24 @@ func TestValidateKubeletConfiguration(t *testing.T) { func TestValidateKubeProxyConfiguration(t *testing.T) { successCases := []kubeadm.MasterConfiguration{ { - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "192.168.59.103", HealthzBindAddress: "0.0.0.0:10256", MetricsBindAddress: "127.0.0.1:10249", ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -772,7 +768,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { } for _, successCase := range successCases { - if errs := ValidateProxy(successCase.KubeProxy.Config, nil); len(errs) != 0 { + if errs := ValidateProxy(successCase.ComponentConfigs.KubeProxy, nil); len(errs) != 0 { t.Errorf("failed ValidateProxy: expect no errors but got %v", errs) } } @@ -783,8 +779,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }{ { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ // only BindAddress is invalid BindAddress: "10.10.12.11:2000", HealthzBindAddress: "0.0.0.0:10256", @@ -792,16 +788,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -815,8 +811,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }, { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "10.10.12.11", // only HealthzBindAddress is invalid HealthzBindAddress: "0.0.0.0", @@ -824,16 +820,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -847,8 +843,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }, { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "10.10.12.11", HealthzBindAddress: "0.0.0.0:12345", // only MetricsBindAddress is invalid @@ -856,16 +852,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { ClusterCIDR: "192.168.59.0/24", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -879,8 +875,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }, { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "10.10.12.11", HealthzBindAddress: "0.0.0.0:12345", MetricsBindAddress: "127.0.0.1:10249", @@ -888,16 +884,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { ClusterCIDR: "192.168.59.0", UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -911,8 +907,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }, { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "10.10.12.11", HealthzBindAddress: "0.0.0.0:12345", MetricsBindAddress: "127.0.0.1:10249", @@ -920,16 +916,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { // only UDPIdleTimeout is invalid UDPIdleTimeout: metav1.Duration{Duration: -1 * time.Second}, ConfigSyncPeriod: metav1.Duration{Duration: 1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -943,8 +939,8 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { }, { masterConfig: kubeadm.MasterConfiguration{ - KubeProxy: kubeadm.KubeProxy{ - Config: &kubeproxyconfigv1alpha1.KubeProxyConfiguration{ + ComponentConfigs: kubeadm.ComponentConfigs{ + KubeProxy: &kubeproxyconfig.KubeProxyConfiguration{ BindAddress: "10.10.12.11", HealthzBindAddress: "0.0.0.0:12345", MetricsBindAddress: "127.0.0.1:10249", @@ -952,16 +948,16 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { UDPIdleTimeout: metav1.Duration{Duration: 1 * time.Second}, // only ConfigSyncPeriod is invalid ConfigSyncPeriod: metav1.Duration{Duration: -1 * time.Second}, - IPTables: kubeproxyconfigv1alpha1.KubeProxyIPTablesConfiguration{ + IPTables: kubeproxyconfig.KubeProxyIPTablesConfiguration{ MasqueradeAll: true, SyncPeriod: metav1.Duration{Duration: 5 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 2 * time.Second}, }, - IPVS: kubeproxyconfigv1alpha1.KubeProxyIPVSConfiguration{ + IPVS: kubeproxyconfig.KubeProxyIPVSConfiguration{ SyncPeriod: metav1.Duration{Duration: 10 * time.Second}, MinSyncPeriod: metav1.Duration{Duration: 5 * time.Second}, }, - Conntrack: kubeproxyconfigv1alpha1.KubeProxyConntrackConfiguration{ + Conntrack: kubeproxyconfig.KubeProxyConntrackConfiguration{ Max: utilpointer.Int32Ptr(2), MaxPerCore: utilpointer.Int32Ptr(1), Min: utilpointer.Int32Ptr(1), @@ -976,7 +972,7 @@ func TestValidateKubeProxyConfiguration(t *testing.T) { } for i, errorCase := range errorCases { - if errs := ValidateProxy(errorCase.masterConfig.KubeProxy.Config, nil); len(errs) == 0 { + if errs := ValidateProxy(errorCase.masterConfig.ComponentConfigs.KubeProxy, nil); len(errs) == 0 { t.Errorf("%d failed ValidateProxy: expected error for %s, but got no error", i, errorCase.msg) } else if !strings.Contains(errs[0].Error(), errorCase.msg) { t.Errorf("%d failed ValidateProxy: unexpected error: %v, expected: %s", i, errs[0], errorCase.msg) diff --git a/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go b/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go index 5bb2f239a71..5b37f7f72a2 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go +++ b/cmd/kubeadm/app/phases/addons/proxy/proxy_test.go @@ -238,17 +238,17 @@ func TestEnsureProxyAddon(t *testing.T) { expErr, actErr) } - if intMaster.KubeProxy.Config.BindAddress != tc.expBindAddr { + if intMaster.ComponentConfigs.KubeProxy.BindAddress != tc.expBindAddr { t.Errorf("%s test failed, expected: %s, got: %s", tc.name, tc.expBindAddr, - intMaster.KubeProxy.Config.BindAddress) + intMaster.ComponentConfigs.KubeProxy.BindAddress) } - if intMaster.KubeProxy.Config.ClusterCIDR != tc.expClusterCIDR { + if intMaster.ComponentConfigs.KubeProxy.ClusterCIDR != tc.expClusterCIDR { t.Errorf("%s test failed, expected: %s, got: %s", tc.name, tc.expClusterCIDR, - intMaster.KubeProxy.Config.ClusterCIDR) + intMaster.ComponentConfigs.KubeProxy.ClusterCIDR) } } } diff --git a/cmd/kubeadm/app/phases/kubelet/config_test.go b/cmd/kubeadm/app/phases/kubelet/config_test.go index dc21da453d4..47697892050 100644 --- a/cmd/kubeadm/app/phases/kubelet/config_test.go +++ b/cmd/kubeadm/app/phases/kubelet/config_test.go @@ -25,7 +25,7 @@ import ( "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" + "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" "k8s.io/kubernetes/pkg/util/version" ) @@ -35,8 +35,8 @@ func TestCreateConfigMap(t *testing.T) { cfg := &kubeadmapi.MasterConfiguration{ NodeRegistration: kubeadmapi.NodeRegistrationOptions{Name: nodeName}, KubernetesVersion: "v1.11.0", - KubeletConfiguration: kubeadmapi.KubeletConfiguration{ - BaseConfig: &kubeletconfigv1beta1.KubeletConfiguration{}, + ComponentConfigs: kubeadmapi.ComponentConfigs{ + Kubelet: &kubeletconfig.KubeletConfiguration{}, }, }