From 0bdfe05cf2f5d6dabf86bd8c360e091e65a60b10 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Wed, 28 Apr 2021 02:41:36 +0300 Subject: [PATCH] kubeadm: remove ClusterConfiguration.DNS.Type from v1beta3 Kubeadm no longer supports kube-dns and CoreDNS is the only supported DNS server. Remove ClusterConfiguration.DNS.Type from v1beta3 that is used to set the DNS server type. --- cmd/kubeadm/app/apis/kubeadm/types.go | 3 + .../app/apis/kubeadm/v1beta3/conversion.go | 19 +++++- .../app/apis/kubeadm/v1beta3/defaults.go | 8 --- cmd/kubeadm/app/apis/kubeadm/v1beta3/doc.go | 2 + cmd/kubeadm/app/apis/kubeadm/v1beta3/types.go | 8 --- .../v1beta3/zz_generated.conversion.go | 33 ++++------ .../app/apis/kubeadm/validation/validation.go | 1 + cmd/kubeadm/app/cmd/upgrade/common.go | 2 +- cmd/kubeadm/app/cmd/upgrade/common_test.go | 12 +--- cmd/kubeadm/app/cmd/upgrade/plan.go | 15 ++--- cmd/kubeadm/app/cmd/upgrade/plan_test.go | 17 ------ .../app/componentconfigs/fakeconfig_test.go | 8 +-- cmd/kubeadm/app/constants/constants.go | 9 --- cmd/kubeadm/app/constants/constants_test.go | 25 -------- cmd/kubeadm/app/images/images.go | 6 +- cmd/kubeadm/app/images/images_test.go | 8 +-- cmd/kubeadm/app/phases/addons/dns/dns.go | 13 ++-- cmd/kubeadm/app/phases/upgrade/compute.go | 22 +++---- .../app/phases/upgrade/compute_test.go | 61 +------------------ cmd/kubeadm/app/phases/upgrade/preflight.go | 6 +- 20 files changed, 63 insertions(+), 215 deletions(-) diff --git a/cmd/kubeadm/app/apis/kubeadm/types.go b/cmd/kubeadm/app/apis/kubeadm/types.go index cc32214555d..3d8d510e140 100644 --- a/cmd/kubeadm/app/apis/kubeadm/types.go +++ b/cmd/kubeadm/app/apis/kubeadm/types.go @@ -146,16 +146,19 @@ type APIServer struct { } // DNSAddOnType defines string identifying DNS add-on types +// TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 type DNSAddOnType string const ( // CoreDNS add-on type + // TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 CoreDNS DNSAddOnType = "CoreDNS" ) // DNS defines the DNS addon that should be used in the cluster type DNS struct { // Type defines the DNS add-on to be used + // TODO: Used only in validation over the internal type. Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 Type DNSAddOnType // ImageMeta allows to customize the image used for the DNS component diff --git a/cmd/kubeadm/app/apis/kubeadm/v1beta3/conversion.go b/cmd/kubeadm/app/apis/kubeadm/v1beta3/conversion.go index 7cd497403fd..62a8fa18cfd 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1beta3/conversion.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1beta3/conversion.go @@ -30,5 +30,22 @@ func Convert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration(in *InitConf if err != nil { return err } - return Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(&ClusterConfiguration{}, &out.ClusterConfiguration, s) + err = Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(&ClusterConfiguration{}, &out.ClusterConfiguration, s) + // Make roundtrip / fuzzers happy + // TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 + out.DNS.Type = "" + return err +} + +// Convert_kubeadm_DNS_To_v1beta3_DNS is required since Type does not exist in the DNS struct +// TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 +func Convert_kubeadm_DNS_To_v1beta3_DNS(in *kubeadm.DNS, out *DNS, s conversion.Scope) error { + return autoConvert_kubeadm_DNS_To_v1beta3_DNS(in, out, s) +} + +// Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration is required due to the missing +// DNS.Type in v1beta3. TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 +func Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in *ClusterConfiguration, out *kubeadm.ClusterConfiguration, s conversion.Scope) error { + out.DNS.Type = kubeadm.CoreDNS + return autoConvert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in, out, s) } diff --git a/cmd/kubeadm/app/apis/kubeadm/v1beta3/defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1beta3/defaults.go index 3247eaaf8fa..1539385ef05 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1beta3/defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1beta3/defaults.go @@ -97,7 +97,6 @@ func SetDefaults_ClusterConfiguration(obj *ClusterConfiguration) { obj.ClusterName = DefaultClusterName } - SetDefaults_DNS(obj) SetDefaults_Etcd(obj) SetDefaults_APIServer(&obj.APIServer) } @@ -111,13 +110,6 @@ func SetDefaults_APIServer(obj *APIServer) { } } -// SetDefaults_DNS assigns default values for the DNS component -func SetDefaults_DNS(obj *ClusterConfiguration) { - if obj.DNS.Type == "" { - obj.DNS.Type = CoreDNS - } -} - // SetDefaults_Etcd assigns default values for the proxy func SetDefaults_Etcd(obj *ClusterConfiguration) { if obj.Etcd.External == nil && obj.Etcd.Local == nil { diff --git a/cmd/kubeadm/app/apis/kubeadm/v1beta3/doc.go b/cmd/kubeadm/app/apis/kubeadm/v1beta3/doc.go index ead50e5907a..38933fbfcda 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1beta3/doc.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1beta3/doc.go @@ -25,6 +25,8 @@ limitations under the License. // A list of changes since v1beta2: // - The deprecated "ClusterConfiguration.useHyperKubeImage" field has been removed. // Kubeadm no longer supports the hyperkube image. +// - The "ClusterConfiguration.DNS.Type" field has been removed since CoreDNS is the only supported +// DNS server type by kubeadm. // // Migration from old kubeadm config versions // diff --git a/cmd/kubeadm/app/apis/kubeadm/v1beta3/types.go b/cmd/kubeadm/app/apis/kubeadm/v1beta3/types.go index 1097f608eda..fb90400bb62 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1beta3/types.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1beta3/types.go @@ -133,16 +133,8 @@ type APIServer struct { // DNSAddOnType defines string identifying DNS add-on types type DNSAddOnType string -const ( - // CoreDNS add-on type - CoreDNS DNSAddOnType = "CoreDNS" -) - // DNS defines the DNS addon that should be used in the cluster type DNS struct { - // Type defines the DNS add-on to be used - Type DNSAddOnType `json:"type"` - // ImageMeta allows to customize the image used for the DNS component ImageMeta `json:",inline"` } diff --git a/cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go b/cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go index eeaf727a592..2710b81855c 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1beta3/zz_generated.conversion.go @@ -87,11 +87,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*ClusterConfiguration)(nil), (*kubeadm.ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(a.(*ClusterConfiguration), b.(*kubeadm.ClusterConfiguration), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*kubeadm.ClusterConfiguration)(nil), (*ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_kubeadm_ClusterConfiguration_To_v1beta3_ClusterConfiguration(a.(*kubeadm.ClusterConfiguration), b.(*ClusterConfiguration), scope) }); err != nil { @@ -122,11 +117,6 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*kubeadm.DNS)(nil), (*DNS)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_kubeadm_DNS_To_v1beta3_DNS(a.(*kubeadm.DNS), b.(*DNS), scope) - }); err != nil { - return err - } if err := s.AddGeneratedConversionFunc((*Discovery)(nil), (*kubeadm.Discovery)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta3_Discovery_To_kubeadm_Discovery(a.(*Discovery), b.(*kubeadm.Discovery), scope) }); err != nil { @@ -237,11 +227,21 @@ func RegisterConversions(s *runtime.Scheme) error { }); err != nil { return err } + if err := s.AddConversionFunc((*kubeadm.DNS)(nil), (*DNS)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_kubeadm_DNS_To_v1beta3_DNS(a.(*kubeadm.DNS), b.(*DNS), scope) + }); err != nil { + return err + } if err := s.AddConversionFunc((*kubeadm.InitConfiguration)(nil), (*InitConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_kubeadm_InitConfiguration_To_v1beta3_InitConfiguration(a.(*kubeadm.InitConfiguration), b.(*InitConfiguration), scope) }); err != nil { return err } + if err := s.AddConversionFunc((*ClusterConfiguration)(nil), (*kubeadm.ClusterConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(a.(*ClusterConfiguration), b.(*kubeadm.ClusterConfiguration), scope) + }); err != nil { + return err + } if err := s.AddConversionFunc((*InitConfiguration)(nil), (*kubeadm.InitConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { return Convert_v1beta3_InitConfiguration_To_kubeadm_InitConfiguration(a.(*InitConfiguration), b.(*kubeadm.InitConfiguration), scope) }); err != nil { @@ -406,11 +406,6 @@ func autoConvert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in return nil } -// Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration is an autogenerated conversion function. -func Convert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in *ClusterConfiguration, out *kubeadm.ClusterConfiguration, s conversion.Scope) error { - return autoConvert_v1beta3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in, out, s) -} - func autoConvert_kubeadm_ClusterConfiguration_To_v1beta3_ClusterConfiguration(in *kubeadm.ClusterConfiguration, out *ClusterConfiguration, s conversion.Scope) error { // INFO: in.ComponentConfigs opted out of conversion generation if err := Convert_kubeadm_Etcd_To_v1beta3_Etcd(&in.Etcd, &out.Etcd, s); err != nil { @@ -489,7 +484,6 @@ func Convert_kubeadm_ControlPlaneComponent_To_v1beta3_ControlPlaneComponent(in * } func autoConvert_v1beta3_DNS_To_kubeadm_DNS(in *DNS, out *kubeadm.DNS, s conversion.Scope) error { - out.Type = kubeadm.DNSAddOnType(in.Type) if err := Convert_v1beta3_ImageMeta_To_kubeadm_ImageMeta(&in.ImageMeta, &out.ImageMeta, s); err != nil { return err } @@ -502,18 +496,13 @@ func Convert_v1beta3_DNS_To_kubeadm_DNS(in *DNS, out *kubeadm.DNS, s conversion. } func autoConvert_kubeadm_DNS_To_v1beta3_DNS(in *kubeadm.DNS, out *DNS, s conversion.Scope) error { - out.Type = DNSAddOnType(in.Type) + // WARNING: in.Type requires manual conversion: does not exist in peer-type if err := Convert_kubeadm_ImageMeta_To_v1beta3_ImageMeta(&in.ImageMeta, &out.ImageMeta, s); err != nil { return err } return nil } -// Convert_kubeadm_DNS_To_v1beta3_DNS is an autogenerated conversion function. -func Convert_kubeadm_DNS_To_v1beta3_DNS(in *kubeadm.DNS, out *DNS, s conversion.Scope) error { - return autoConvert_kubeadm_DNS_To_v1beta3_DNS(in, out, s) -} - func autoConvert_v1beta3_Discovery_To_kubeadm_Discovery(in *Discovery, out *kubeadm.Discovery, s conversion.Scope) error { out.BootstrapToken = (*kubeadm.BootstrapTokenDiscovery)(unsafe.Pointer(in.BootstrapToken)) out.File = (*kubeadm.FileDiscovery)(unsafe.Pointer(in.File)) diff --git a/cmd/kubeadm/app/apis/kubeadm/validation/validation.go b/cmd/kubeadm/app/apis/kubeadm/validation/validation.go index 156a0231832..9c366ca96a7 100644 --- a/cmd/kubeadm/app/apis/kubeadm/validation/validation.go +++ b/cmd/kubeadm/app/apis/kubeadm/validation/validation.go @@ -493,6 +493,7 @@ func getClusterNodeMask(c *kubeadm.ClusterConfiguration, isIPv6 bool) (int, erro } // ValidateDNS validates the DNS object and collects all encountered errors +// TODO: Remove with v1beta2 https://github.com/kubernetes/kubeadm/issues/2459 func ValidateDNS(dns *kubeadm.DNS, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} const kubeDNSType = "kube-dns" diff --git a/cmd/kubeadm/app/cmd/upgrade/common.go b/cmd/kubeadm/app/cmd/upgrade/common.go index 87f138558c8..e08907345c0 100644 --- a/cmd/kubeadm/app/cmd/upgrade/common.go +++ b/cmd/kubeadm/app/cmd/upgrade/common.go @@ -241,7 +241,7 @@ func runPreflightChecks(client clientset.Interface, ignorePreflightErrors sets.S if err != nil { return err } - err = upgrade.RunCoreDNSMigrationCheck(client, ignorePreflightErrors, cfg.DNS.Type) + err = upgrade.RunCoreDNSMigrationCheck(client, ignorePreflightErrors) if err != nil { return err } diff --git a/cmd/kubeadm/app/cmd/upgrade/common_test.go b/cmd/kubeadm/app/cmd/upgrade/common_test.go index dfafde0ee5c..ecdcf341249 100644 --- a/cmd/kubeadm/app/cmd/upgrade/common_test.go +++ b/cmd/kubeadm/app/cmd/upgrade/common_test.go @@ -87,16 +87,12 @@ func TestPrintConfiguration(t *testing.T) { DataDir: "/some/path", }, }, - DNS: kubeadmapi.DNS{ - Type: kubeadmapi.CoreDNS, - }, }, expectedBytes: []byte(fmt.Sprintf(`[upgrade/config] Configuration used: apiServer: {} apiVersion: %s controllerManager: {} - dns: - type: CoreDNS + dns: {} etcd: local: dataDir: /some/path @@ -118,16 +114,12 @@ func TestPrintConfiguration(t *testing.T) { Endpoints: []string{"https://one-etcd-instance:2379"}, }, }, - DNS: kubeadmapi.DNS{ - Type: kubeadmapi.CoreDNS, - }, }, expectedBytes: []byte(`[upgrade/config] Configuration used: apiServer: {} apiVersion: ` + kubeadmapiv1.SchemeGroupVersion.String() + ` controllerManager: {} - dns: - type: CoreDNS + dns: {} etcd: external: caFile: "" diff --git a/cmd/kubeadm/app/cmd/upgrade/plan.go b/cmd/kubeadm/app/cmd/upgrade/plan.go index acdb413aabc..52f7e39f33f 100644 --- a/cmd/kubeadm/app/cmd/upgrade/plan.go +++ b/cmd/kubeadm/app/cmd/upgrade/plan.go @@ -79,7 +79,7 @@ func runPlan(flags *planFlags, args []string) error { // Compute which upgrade possibilities there are klog.V(1).Infoln("[upgrade/plan] computing upgrade possibilities") - availUpgrades, err := upgrade.GetAvailableUpgrades(versionGetter, flags.allowExperimentalUpgrades, flags.allowRCUpgrades, isExternalEtcd, cfg.DNS.Type, client, constants.GetStaticPodDirectory()) + availUpgrades, err := upgrade.GetAvailableUpgrades(versionGetter, flags.allowExperimentalUpgrades, flags.allowRCUpgrades, isExternalEtcd, client, constants.GetStaticPodDirectory()) if err != nil { return errors.Wrap(err, "[upgrade/versions] FATAL") } @@ -133,14 +133,9 @@ func newComponentUpgradePlan(name, currentVersion, newVersion string) outputapi. // TODO There is currently no way to cleanly output upgrades that involve adding, removing, or changing components // https://github.com/kubernetes/kubeadm/issues/810 was created to track addressing this. -func appendDNSComponent(components []outputapi.ComponentUpgradePlan, up *upgrade.Upgrade, DNSType kubeadmapi.DNSAddOnType, name string) []outputapi.ComponentUpgradePlan { - beforeVersion, afterVersion := "", "" - if up.Before.DNSType == DNSType { - beforeVersion = up.Before.DNSVersion - } - if up.After.DNSType == DNSType { - afterVersion = up.After.DNSVersion - } +func appendDNSComponent(components []outputapi.ComponentUpgradePlan, up *upgrade.Upgrade, name string) []outputapi.ComponentUpgradePlan { + beforeVersion := up.Before.DNSVersion + afterVersion := up.After.DNSVersion if beforeVersion != "" || afterVersion != "" { components = append(components, newComponentUpgradePlan(name, beforeVersion, afterVersion)) @@ -180,7 +175,7 @@ func genUpgradePlan(up *upgrade.Upgrade, isExternalEtcd bool) (*outputapi.Upgrad components = append(components, newComponentUpgradePlan(constants.KubeScheduler, up.Before.KubeVersion, up.After.KubeVersion)) components = append(components, newComponentUpgradePlan(constants.KubeProxy, up.Before.KubeVersion, up.After.KubeVersion)) - components = appendDNSComponent(components, up, kubeadmapi.CoreDNS, constants.CoreDNS) + components = appendDNSComponent(components, up, constants.CoreDNS) if !isExternalEtcd { components = append(components, newComponentUpgradePlan(constants.Etcd, up.Before.EtcdVersion, up.After.EtcdVersion)) diff --git a/cmd/kubeadm/app/cmd/upgrade/plan_test.go b/cmd/kubeadm/app/cmd/upgrade/plan_test.go index 40a5d1c70f3..4ed26780e42 100644 --- a/cmd/kubeadm/app/cmd/upgrade/plan_test.go +++ b/cmd/kubeadm/app/cmd/upgrade/plan_test.go @@ -21,7 +21,6 @@ import ( "reflect" "testing" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/phases/upgrade" ) @@ -86,14 +85,12 @@ func TestPrintAvailableUpgrades(t *testing.T) { "v1.18.1": 1, }, KubeadmVersion: "v1.18.1", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.18.4", KubeadmVersion: "v1.18.4", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, @@ -134,14 +131,12 @@ _____________________________________________________________________ "v1.18.4": 1, }, KubeadmVersion: "v1.18.4", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.0", KubeadmVersion: "v1.19.0", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, @@ -182,14 +177,12 @@ _____________________________________________________________________ "v1.18.3": 1, }, KubeadmVersion: "v1.18.3", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.18.5", KubeadmVersion: "v1.18.3", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, @@ -202,14 +195,12 @@ _____________________________________________________________________ "v1.18.3": 1, }, KubeadmVersion: "v1.18.3", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.0", KubeadmVersion: "v1.19.0", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, @@ -270,14 +261,12 @@ _____________________________________________________________________ "v1.18.5": 1, }, KubeadmVersion: "v1.18.5", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.0-beta.1", KubeadmVersion: "v1.19.0-beta.1", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, @@ -318,14 +307,12 @@ _____________________________________________________________________ "v1.18.5": 1, }, KubeadmVersion: "v1.18.5", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.6.7", EtcdVersion: "3.4.3-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.0-rc.1", KubeadmVersion: "v1.19.0-rc.1", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, @@ -367,14 +354,12 @@ _____________________________________________________________________ "v1.19.3": 2, }, KubeadmVersion: "v1.19.2", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.3", KubeadmVersion: "v1.19.3", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, @@ -417,14 +402,12 @@ _____________________________________________________________________ "v1.19.2": 1, }, KubeadmVersion: "v1.19.2", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, After: upgrade.ClusterState{ KubeVersion: "v1.19.3", KubeadmVersion: "v1.19.3", - DNSType: kubeadmapi.CoreDNS, DNSVersion: "1.7.0", EtcdVersion: "3.4.7-0", }, diff --git a/cmd/kubeadm/app/componentconfigs/fakeconfig_test.go b/cmd/kubeadm/app/componentconfigs/fakeconfig_test.go index d3ada7e0956..9458587f9c1 100644 --- a/cmd/kubeadm/app/componentconfigs/fakeconfig_test.go +++ b/cmd/kubeadm/app/componentconfigs/fakeconfig_test.go @@ -210,8 +210,6 @@ var ( certificatesDir: /etc/kubernetes/pki clusterName: LeCluster controllerManager: {} - dns: - type: CoreDNS etcd: local: dataDir: /var/lib/etcd @@ -236,9 +234,6 @@ var ( DNSDomain: "cluster.local", ServiceSubnet: "10.96.0.0/12", }, - DNS: kubeadmapiv1.DNS{ - Type: kubeadmapiv1.CoreDNS, - }, Etcd: kubeadmapiv1.Etcd{ Local: &kubeadmapiv1.LocalEtcd{ DataDir: "/var/lib/etcd", @@ -280,8 +275,7 @@ func TestConfigBaseMarshal(t *testing.T) { apiVersion: %s clusterName: LeCluster controllerManager: {} - dns: - type: "" + dns: {} etcd: {} kind: ClusterConfiguration kubernetesVersion: 1.2.3 diff --git a/cmd/kubeadm/app/constants/constants.go b/cmd/kubeadm/app/constants/constants.go index c3aec37b435..7a3aca32605 100644 --- a/cmd/kubeadm/app/constants/constants.go +++ b/cmd/kubeadm/app/constants/constants.go @@ -32,7 +32,6 @@ import ( "k8s.io/apimachinery/pkg/util/version" "k8s.io/apimachinery/pkg/util/wait" bootstrapapi "k8s.io/cluster-bootstrap/token/api" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" utilnet "k8s.io/utils/net" ) @@ -635,14 +634,6 @@ func GetAPIServerVirtualIP(svcSubnetList string, isDualStack bool) (net.IP, erro return internalAPIServerVirtualIP, nil } -// GetDNSVersion is a handy function that returns the DNS version by DNS type -func GetDNSVersion(dnsType kubeadmapi.DNSAddOnType) string { - if dnsType == kubeadmapi.CoreDNS { - return CoreDNSVersion - } - return "" -} - // GetKubeletConfigMapName returns the right ConfigMap name for the right branch of k8s func GetKubeletConfigMapName(k8sVersion *version.Version) string { return fmt.Sprintf("%s%d.%d", KubeletBaseConfigurationConfigMapPrefix, k8sVersion.Major(), k8sVersion.Minor()) diff --git a/cmd/kubeadm/app/constants/constants_test.go b/cmd/kubeadm/app/constants/constants_test.go index 7b68911900e..30872c4d123 100644 --- a/cmd/kubeadm/app/constants/constants_test.go +++ b/cmd/kubeadm/app/constants/constants_test.go @@ -21,7 +21,6 @@ import ( "testing" "k8s.io/apimachinery/pkg/util/version" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" ) func TestGetStaticPodDirectory(t *testing.T) { @@ -172,30 +171,6 @@ func TestEtcdSupportedVersion(t *testing.T) { } } -func TestGetDNSVersion(t *testing.T) { - var tests = []struct { - dns kubeadmapi.DNSAddOnType - expected string - }{ - { - dns: kubeadmapi.CoreDNS, - expected: CoreDNSVersion, - }, - } - for _, rt := range tests { - t.Run(string(rt.dns), func(t *testing.T) { - actualDNSVersion := GetDNSVersion(rt.dns) - if actualDNSVersion != rt.expected { - t.Errorf( - "failed GetDNSVersion:\n\texpected: %s\n\t actual: %s", - rt.expected, - actualDNSVersion, - ) - } - }) - } -} - func TestGetKubernetesServiceCIDR(t *testing.T) { var tests = []struct { svcSubnetList string diff --git a/cmd/kubeadm/app/images/images.go b/cmd/kubeadm/app/images/images.go index 560c6afc49d..66a04101989 100644 --- a/cmd/kubeadm/app/images/images.go +++ b/cmd/kubeadm/app/images/images.go @@ -47,7 +47,7 @@ func GetDNSImage(cfg *kubeadmapi.ClusterConfiguration) string { dnsImageRepository = cfg.DNS.ImageRepository } // DNS uses an imageTag that corresponds to the DNS version matching the Kubernetes version - dnsImageTag := constants.GetDNSVersion(cfg.DNS.Type) + dnsImageTag := constants.CoreDNSVersion // unless an override is specified if cfg.DNS.ImageTag != "" { @@ -99,9 +99,7 @@ func GetControlPlaneImages(cfg *kubeadmapi.ClusterConfiguration) []string { } // Append the appropriate DNS images - if cfg.DNS.Type == kubeadmapi.CoreDNS { - imgs = append(imgs, GetDNSImage(cfg)) - } + imgs = append(imgs, GetDNSImage(cfg)) return imgs } diff --git a/cmd/kubeadm/app/images/images_test.go b/cmd/kubeadm/app/images/images_test.go index fb4cfd8aa08..9f363939e86 100644 --- a/cmd/kubeadm/app/images/images_test.go +++ b/cmd/kubeadm/app/images/images_test.go @@ -208,12 +208,8 @@ func TestGetAllImages(t *testing.T) { expect: constants.Etcd, }, { - name: "CoreDNS image is returned", - cfg: &kubeadmapi.ClusterConfiguration{ - DNS: kubeadmapi.DNS{ - Type: kubeadmapi.CoreDNS, - }, - }, + name: "CoreDNS image is returned", + cfg: &kubeadmapi.ClusterConfiguration{}, expect: constants.CoreDNSImageName, }, } diff --git a/cmd/kubeadm/app/phases/addons/dns/dns.go b/cmd/kubeadm/app/phases/addons/dns/dns.go index 8cff773b2cd..63327b9f6c1 100644 --- a/cmd/kubeadm/app/phases/addons/dns/dns.go +++ b/cmd/kubeadm/app/phases/addons/dns/dns.go @@ -47,24 +47,23 @@ const ( ) // DeployedDNSAddon returns the type of DNS addon currently deployed -func DeployedDNSAddon(client clientset.Interface) (kubeadmapi.DNSAddOnType, string, error) { +func DeployedDNSAddon(client clientset.Interface) (string, error) { deploymentsClient := client.AppsV1().Deployments(metav1.NamespaceSystem) deployments, err := deploymentsClient.List(context.TODO(), metav1.ListOptions{LabelSelector: "k8s-app=kube-dns"}) if err != nil { - return "", "", errors.Wrap(err, "couldn't retrieve DNS addon deployments") + return "", errors.Wrap(err, "couldn't retrieve DNS addon deployments") } switch len(deployments.Items) { case 0: - return "", "", nil + return "", nil case 1: - addonType := kubeadmapi.CoreDNS addonImage := deployments.Items[0].Spec.Template.Spec.Containers[0].Image addonImageParts := strings.Split(addonImage, ":") addonVersion := addonImageParts[len(addonImageParts)-1] - return addonType, addonVersion, nil + return addonVersion, nil default: - return "", "", errors.Errorf("multiple DNS addon deployments found: %v", deployments.Items) + return "", errors.Errorf("multiple DNS addon deployments found: %v", deployments.Items) } } @@ -333,7 +332,7 @@ func GetCoreDNSInfo(client clientset.Interface) (*v1.ConfigMap, string, string, return nil, "", "", errors.New("unable to find the CoreDNS Corefile data") } - _, currentCoreDNSversion, err := DeployedDNSAddon(client) + currentCoreDNSversion, err := DeployedDNSAddon(client) if err != nil { return nil, "", "", err } diff --git a/cmd/kubeadm/app/phases/upgrade/compute.go b/cmd/kubeadm/app/phases/upgrade/compute.go index f83c119c188..d6ecc6fde91 100644 --- a/cmd/kubeadm/app/phases/upgrade/compute.go +++ b/cmd/kubeadm/app/phases/upgrade/compute.go @@ -23,7 +23,6 @@ import ( versionutil "k8s.io/apimachinery/pkg/util/version" clientset "k8s.io/client-go/kubernetes" "k8s.io/klog/v2" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/dns" ) @@ -60,8 +59,6 @@ func (u *Upgrade) CanUpgradeEtcd() bool { type ClusterState struct { // KubeVersion describes the version of the Kubernetes API Server, Controller Manager, Scheduler and Proxy. KubeVersion string - // DNSType describes the type of DNS add-on used in the cluster. - DNSType kubeadmapi.DNSAddOnType // DNSVersion describes the version of the DNS add-on. DNSVersion string // KubeadmVersion describes the version of the kubeadm CLI @@ -74,7 +71,7 @@ type ClusterState struct { // GetAvailableUpgrades fetches all versions from the specified VersionGetter and computes which // kinds of upgrades can be performed -func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesAllowed, rcUpgradesAllowed, externalEtcd bool, dnsType kubeadmapi.DNSAddOnType, client clientset.Interface, manifestsDir string) ([]Upgrade, error) { +func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesAllowed, rcUpgradesAllowed, externalEtcd bool, client clientset.Interface, manifestsDir string) ([]Upgrade, error) { fmt.Println("[upgrade] Fetching available versions to upgrade to") // Collect the upgrades kubeadm can do in this list @@ -119,7 +116,7 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA } } - currentDNSType, dnsVersion, err := dns.DeployedDNSAddon(client) + dnsVersion, err := dns.DeployedDNSAddon(client) if err != nil { return nil, err } @@ -127,7 +124,6 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA // Construct a descriptor for the current state of the world beforeState := ClusterState{ KubeVersion: clusterVersionStr, - DNSType: currentDNSType, DNSVersion: dnsVersion, KubeadmVersion: kubeadmVersionStr, KubeletVersions: kubeletVersions, @@ -173,8 +169,7 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA Before: beforeState, After: ClusterState{ KubeVersion: patchVersionStr, - DNSType: dnsType, - DNSVersion: kubeadmconstants.GetDNSVersion(dnsType), + DNSVersion: kubeadmconstants.CoreDNSVersion, KubeadmVersion: newKubeadmVer, EtcdVersion: getSuggestedEtcdVersion(externalEtcd, patchVersionStr), // KubeletVersions is unset here as it is not used anywhere in .After @@ -190,8 +185,7 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA Before: beforeState, After: ClusterState{ KubeVersion: stableVersionStr, - DNSType: dnsType, - DNSVersion: kubeadmconstants.GetDNSVersion(dnsType), + DNSVersion: kubeadmconstants.CoreDNSVersion, KubeadmVersion: stableVersionStr, EtcdVersion: getSuggestedEtcdVersion(externalEtcd, stableVersionStr), // KubeletVersions is unset here as it is not used anywhere in .After @@ -238,8 +232,7 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA Before: beforeState, After: ClusterState{ KubeVersion: previousBranchLatestVersionStr, - DNSType: dnsType, - DNSVersion: kubeadmconstants.GetDNSVersion(dnsType), + DNSVersion: kubeadmconstants.CoreDNSVersion, KubeadmVersion: previousBranchLatestVersionStr, EtcdVersion: getSuggestedEtcdVersion(externalEtcd, previousBranchLatestVersionStr), // KubeletVersions is unset here as it is not used anywhere in .After @@ -252,12 +245,12 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA // Default to assume that the experimental version to show is the unstable one unstableKubeVersion := latestVersionStr - unstableKubeDNSVersion := kubeadmconstants.GetDNSVersion(dnsType) + unstableKubeDNSVersion := kubeadmconstants.CoreDNSVersion // Ẃe should not display alpha.0. The previous branch's beta/rc versions are more relevant due how the kube branching process works. if latestVersion.PreRelease() == "alpha.0" { unstableKubeVersion = previousBranchLatestVersionStr - unstableKubeDNSVersion = kubeadmconstants.GetDNSVersion(dnsType) + unstableKubeDNSVersion = kubeadmconstants.CoreDNSVersion } upgrades = append(upgrades, Upgrade{ @@ -265,7 +258,6 @@ func GetAvailableUpgrades(versionGetterImpl VersionGetter, experimentalUpgradesA Before: beforeState, After: ClusterState{ KubeVersion: unstableKubeVersion, - DNSType: dnsType, DNSVersion: unstableKubeDNSVersion, KubeadmVersion: unstableKubeVersion, EtcdVersion: getSuggestedEtcdVersion(externalEtcd, unstableKubeVersion), diff --git a/cmd/kubeadm/app/phases/upgrade/compute_test.go b/cmd/kubeadm/app/phases/upgrade/compute_test.go index bf71d6c1c20..ef423bc8030 100644 --- a/cmd/kubeadm/app/phases/upgrade/compute_test.go +++ b/cmd/kubeadm/app/phases/upgrade/compute_test.go @@ -29,7 +29,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" versionutil "k8s.io/apimachinery/pkg/util/version" clientsetfake "k8s.io/client-go/kubernetes/fake" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/constants" ) @@ -123,9 +122,7 @@ func TestGetAvailableUpgrades(t *testing.T) { allowExperimental, allowRCs bool errExpected bool externalEtcd bool - beforeDNSType kubeadmapi.DNSAddOnType beforeDNSVersion string - dnsType kubeadmapi.DNSAddOnType }{ { name: "no action needed, already up-to-date", @@ -137,9 +134,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y0.String(), stableVersion: v1Y0.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{}, allowExperimental: false, errExpected: false, @@ -154,9 +149,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y3.String(), stableVersion: v1Y3.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: fmt.Sprintf("version in the v%d.%d series", v1Y0.Major(), v1Y0.Minor()), @@ -166,14 +159,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y1.String(): 1, }, KubeadmVersion: v1Y2.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Y3.String(), KubeadmVersion: v1Y3.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Y3), }, @@ -192,9 +183,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y3.String(), stableVersion: v1Y3.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, externalEtcd: true, expectedUpgrades: []Upgrade{ { @@ -205,14 +194,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y1.String(): 1, }, KubeadmVersion: v1Y2.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: "", }, After: ClusterState{ KubeVersion: v1Y3.String(), KubeadmVersion: v1Y3.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: "", }, @@ -231,9 +218,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y3.String(), stableVersion: v1Y3.String(), }, ""), - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: fmt.Sprintf("version in the v%d.%d series", v1Y0.Major(), v1Y0.Minor()), @@ -243,14 +228,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y1.String(): 1, }, KubeadmVersion: v1Y2.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Y3.String(), KubeadmVersion: v1Y3.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Y3), }, @@ -269,9 +252,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y1.String(), stableVersion: v1Z0.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "stable version", @@ -281,14 +262,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y1.String(): 1, }, KubeadmVersion: v1Z0.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0.String(), KubeadmVersion: v1Z0.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0), }, @@ -307,9 +286,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stablePatchVersion: v1Y5.String(), stableVersion: v1Z1.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: fmt.Sprintf("version in the v%d.%d series", v1Y0.Major(), v1Y0.Minor()), @@ -319,14 +296,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y3.String(): 1, }, KubeadmVersion: v1Y5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Y5.String(), KubeadmVersion: v1Y5.String(), // Note: The kubeadm version mustn't be "downgraded" here - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Y5), }, @@ -339,14 +314,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y3.String(): 1, }, KubeadmVersion: v1Y5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z1.String(), KubeadmVersion: v1Z1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z1), }, @@ -366,9 +339,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stableVersion: v1Y5.String(), latestVersion: v1Z0alpha2.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{}, allowExperimental: true, errExpected: false, @@ -384,9 +355,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stableVersion: v1Y5.String(), latestVersion: v1Z0alpha2.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "experimental version", @@ -396,14 +365,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y5.String(): 1, }, KubeadmVersion: v1Y5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0alpha2.String(), KubeadmVersion: v1Z0alpha2.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0alpha2), }, @@ -423,9 +390,7 @@ func TestGetAvailableUpgrades(t *testing.T) { stableVersion: v1Y5.String(), latestVersion: v1Z0alpha2.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "experimental version", @@ -435,14 +400,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y5.String(): 1, }, KubeadmVersion: v1Y5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0alpha2.String(), KubeadmVersion: v1Z0alpha2.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0alpha2), }, @@ -463,9 +426,7 @@ func TestGetAvailableUpgrades(t *testing.T) { latestDevBranchVersion: v1Z0beta1.String(), latestVersion: v1Y0alpha0.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "experimental version", @@ -475,14 +436,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1X5.String(): 1, }, KubeadmVersion: v1X5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0beta1.String(), KubeadmVersion: v1Z0beta1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0beta1), }, @@ -503,9 +462,7 @@ func TestGetAvailableUpgrades(t *testing.T) { latestDevBranchVersion: v1Z0rc1.String(), latestVersion: v1Y0alpha1.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "release candidate version", @@ -515,14 +472,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1X5.String(): 1, }, KubeadmVersion: v1X5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0rc1.String(), KubeadmVersion: v1Z0rc1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0rc1), }, @@ -543,9 +498,7 @@ func TestGetAvailableUpgrades(t *testing.T) { latestDevBranchVersion: v1Z0rc1.String(), latestVersion: v1Y0alpha0.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "experimental version", // Note that this is considered an experimental version in this uncommon scenario @@ -555,14 +508,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1X5.String(): 1, }, KubeadmVersion: v1X5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0rc1.String(), KubeadmVersion: v1Z0rc1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0rc1), }, @@ -583,9 +534,7 @@ func TestGetAvailableUpgrades(t *testing.T) { latestDevBranchVersion: v1Z0rc1.String(), latestVersion: v1Y0alpha1.String(), }, - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: "release candidate version", @@ -595,14 +544,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1X5.String(): 1, }, KubeadmVersion: v1X5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z0rc1.String(), KubeadmVersion: v1Z0rc1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z0rc1), }, @@ -615,14 +562,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1X5.String(): 1, }, KubeadmVersion: v1X5.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Y0alpha1.String(), KubeadmVersion: v1Y0alpha1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Y0alpha1), }, @@ -639,9 +584,7 @@ func TestGetAvailableUpgrades(t *testing.T) { kubeletVersion: v1Y0.String(), kubeadmVersion: v1Y1.String(), }, v1Z1.String()), - beforeDNSType: kubeadmapi.CoreDNS, beforeDNSVersion: fakeCurrentCoreDNSVersion, - dnsType: kubeadmapi.CoreDNS, expectedUpgrades: []Upgrade{ { Description: fmt.Sprintf("version in the v%d.%d series", v1Y0.Major(), v1Y0.Minor()), @@ -651,14 +594,12 @@ func TestGetAvailableUpgrades(t *testing.T) { v1Y0.String(): 1, }, KubeadmVersion: v1Y1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: fakeCurrentCoreDNSVersion, EtcdVersion: fakeCurrentEtcdVersion, }, After: ClusterState{ KubeVersion: v1Z1.String(), KubeadmVersion: v1Z1.String(), - DNSType: kubeadmapi.CoreDNS, DNSVersion: constants.CoreDNSVersion, EtcdVersion: getEtcdVersion(v1Z1), }, @@ -709,7 +650,7 @@ func TestGetAvailableUpgrades(t *testing.T) { t.Fatalf("Unable to create test static pod manifest: %v", err) } - actualUpgrades, actualErr := GetAvailableUpgrades(rt.vg, rt.allowExperimental, rt.allowRCs, rt.externalEtcd, rt.dnsType, client, manifestsDir) + actualUpgrades, actualErr := GetAvailableUpgrades(rt.vg, rt.allowExperimental, rt.allowRCs, rt.externalEtcd, client, manifestsDir) if !reflect.DeepEqual(actualUpgrades, rt.expectedUpgrades) { t.Errorf("failed TestGetAvailableUpgrades\n\texpected upgrades: %v\n\tgot: %v", rt.expectedUpgrades, actualUpgrades) } diff --git a/cmd/kubeadm/app/phases/upgrade/preflight.go b/cmd/kubeadm/app/phases/upgrade/preflight.go index 4ae4f771732..bb08120c113 100644 --- a/cmd/kubeadm/app/phases/upgrade/preflight.go +++ b/cmd/kubeadm/app/phases/upgrade/preflight.go @@ -27,7 +27,6 @@ import ( "k8s.io/apimachinery/pkg/util/sets" clientset "k8s.io/client-go/kubernetes" "k8s.io/klog/v2" - kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/phases/addons/dns" "k8s.io/kubernetes/cmd/kubeadm/app/preflight" @@ -54,10 +53,7 @@ func (c CoreDNSCheck) Check() (warnings, errors []error) { } // RunCoreDNSMigrationCheck initializes checks related to CoreDNS migration. -func RunCoreDNSMigrationCheck(client clientset.Interface, ignorePreflightErrors sets.String, dnsType kubeadmapi.DNSAddOnType) error { - if dnsType != kubeadmapi.CoreDNS { - return nil - } +func RunCoreDNSMigrationCheck(client clientset.Interface, ignorePreflightErrors sets.String) error { migrationChecks := []preflight.Checker{ &CoreDNSCheck{ name: "CoreDNSUnsupportedPlugins",