diff --git a/cmd/kubeadm/app/cmd/upgrade/diff.go b/cmd/kubeadm/app/cmd/upgrade/diff.go index 542865cf80d..93a45a76d92 100644 --- a/cmd/kubeadm/app/cmd/upgrade/diff.go +++ b/cmd/kubeadm/app/cmd/upgrade/diff.go @@ -113,12 +113,14 @@ func runDiff(flags *diffFlags, args []string) error { flags.newK8sVersionStr = args[0] } - k8sVer, err := version.ParseSemantic(flags.newK8sVersionStr) + _, err = version.ParseSemantic(flags.newK8sVersionStr) if err != nil { return err } - specs := controlplane.GetStaticPodSpecs(&cfg.ClusterConfiguration, &cfg.LocalAPIEndpoint, k8sVer) + cfg.ClusterConfiguration.KubernetesVersion = flags.newK8sVersionStr + + specs := controlplane.GetStaticPodSpecs(&cfg.ClusterConfiguration, &cfg.LocalAPIEndpoint) for spec, pod := range specs { var path string switch spec { diff --git a/cmd/kubeadm/app/phases/controlplane/BUILD b/cmd/kubeadm/app/phases/controlplane/BUILD index d983af8bc67..875a6d91486 100644 --- a/cmd/kubeadm/app/phases/controlplane/BUILD +++ b/cmd/kubeadm/app/phases/controlplane/BUILD @@ -21,7 +21,6 @@ go_test( "//pkg/kubeapiserver/authorizer/modes:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", ], ) @@ -43,7 +42,6 @@ go_library( "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/intstr:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/util/sets:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/version:go_default_library", "//vendor/github.com/pkg/errors:go_default_library", "//vendor/k8s.io/klog:go_default_library", "//vendor/k8s.io/utils/net:go_default_library", diff --git a/cmd/kubeadm/app/phases/controlplane/manifests.go b/cmd/kubeadm/app/phases/controlplane/manifests.go index 6a431ee8b38..9b210fcbf3e 100644 --- a/cmd/kubeadm/app/phases/controlplane/manifests.go +++ b/cmd/kubeadm/app/phases/controlplane/manifests.go @@ -27,7 +27,6 @@ import ( "github.com/pkg/errors" "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/util/intstr" - "k8s.io/apimachinery/pkg/util/version" "k8s.io/klog" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" @@ -47,7 +46,7 @@ func CreateInitStaticPodManifestFiles(manifestDir string, cfg *kubeadmapi.InitCo // GetStaticPodSpecs returns all staticPodSpecs actualized to the context of the current configuration // NB. this methods holds the information about how kubeadm creates static pod manifests. -func GetStaticPodSpecs(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmapi.APIEndpoint, k8sVersion *version.Version) map[string]v1.Pod { +func GetStaticPodSpecs(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmapi.APIEndpoint) map[string]v1.Pod { // Get the required hostpath mounts mounts := getHostPathVolumesForTheControlPlane(cfg) @@ -67,7 +66,7 @@ func GetStaticPodSpecs(cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmap Name: kubeadmconstants.KubeControllerManager, Image: images.GetKubernetesImage(kubeadmconstants.KubeControllerManager, cfg), ImagePullPolicy: v1.PullIfNotPresent, - Command: getControllerManagerCommand(cfg, k8sVersion), + Command: getControllerManagerCommand(cfg), VolumeMounts: staticpodutil.VolumeMountMapToSlice(mounts.GetVolumeMounts(kubeadmconstants.KubeControllerManager)), LivenessProbe: livenessProbe(staticpodutil.GetControllerManagerProbeAddress(cfg), kubeadmconstants.InsecureKubeControllerManagerPort, v1.URISchemeHTTP), Resources: staticpodutil.ComponentResources("200m"), @@ -105,15 +104,9 @@ func livenessProbe(host string, port int, scheme v1.URIScheme) *v1.Probe { // CreateStaticPodFiles creates all the requested static pod files. func CreateStaticPodFiles(manifestDir string, cfg *kubeadmapi.ClusterConfiguration, endpoint *kubeadmapi.APIEndpoint, componentNames ...string) error { - // TODO: Move the "pkg/util/version".Version object into the internal API instead of always parsing the string - k8sVersion, err := version.ParseSemantic(cfg.KubernetesVersion) - if err != nil { - return err - } - // gets the StaticPodSpecs, actualized for the current ClusterConfiguration klog.V(1).Infoln("[control-plane] getting StaticPodSpecs") - specs := GetStaticPodSpecs(cfg, endpoint, k8sVersion) + specs := GetStaticPodSpecs(cfg, endpoint) // creates required static pod specs for _, componentName := range componentNames { @@ -262,7 +255,7 @@ func calcNodeCidrSize(podSubnet string) string { } // getControllerManagerCommand builds the right controller manager command from the given config object and version -func getControllerManagerCommand(cfg *kubeadmapi.ClusterConfiguration, k8sVersion *version.Version) []string { +func getControllerManagerCommand(cfg *kubeadmapi.ClusterConfiguration) []string { kubeconfigFile := filepath.Join(kubeadmconstants.KubernetesDir, kubeadmconstants.ControllerManagerKubeConfigFileName) caFile := filepath.Join(cfg.CertificatesDir, kubeadmconstants.CACertName) diff --git a/cmd/kubeadm/app/phases/controlplane/manifests_test.go b/cmd/kubeadm/app/phases/controlplane/manifests_test.go index 4882a18a2ed..146e900d7bb 100644 --- a/cmd/kubeadm/app/phases/controlplane/manifests_test.go +++ b/cmd/kubeadm/app/phases/controlplane/manifests_test.go @@ -26,7 +26,6 @@ import ( "testing" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/apimachinery/pkg/util/version" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" @@ -49,11 +48,7 @@ func TestGetStaticPodSpecs(t *testing.T) { } // Executes GetStaticPodSpecs - - // TODO: Move the "pkg/util/version".Version object into the internal API instead of always parsing the string - k8sVersion, _ := version.ParseSemantic(cfg.KubernetesVersion) - - specs := GetStaticPodSpecs(cfg, &kubeadmapi.APIEndpoint{}, k8sVersion) + specs := GetStaticPodSpecs(cfg, &kubeadmapi.APIEndpoint{}) var tests = []struct { name string @@ -672,7 +667,7 @@ func TestGetControllerManagerCommand(t *testing.T) { for _, rt := range tests { t.Run(rt.name, func(t *testing.T) { - actual := getControllerManagerCommand(rt.cfg, version.MustParseSemantic(rt.cfg.KubernetesVersion)) + actual := getControllerManagerCommand(rt.cfg) sort.Strings(actual) sort.Strings(rt.expected) if !reflect.DeepEqual(actual, rt.expected) { @@ -848,7 +843,7 @@ func TestGetControllerManagerCommandExternalCA(t *testing.T) { } } - actual := getControllerManagerCommand(&test.cfg.ClusterConfiguration, version.MustParseSemantic(test.cfg.KubernetesVersion)) + actual := getControllerManagerCommand(&test.cfg.ClusterConfiguration) expected := test.expectedArgFunc(tmpdir) sort.Strings(actual) sort.Strings(expected)