diff --git a/cmd/kubeadm/app/preflight/BUILD b/cmd/kubeadm/app/preflight/BUILD index ae8a3d5db8e..4f2b83b96a0 100644 --- a/cmd/kubeadm/app/preflight/BUILD +++ b/cmd/kubeadm/app/preflight/BUILD @@ -49,9 +49,6 @@ go_library( }), importpath = "k8s.io/kubernetes/cmd/kubeadm/app/preflight", deps = [ - "//cmd/kube-apiserver/app/options:go_default_library", - "//cmd/kube-controller-manager/app/options:go_default_library", - "//cmd/kube-scheduler/app:go_default_library", "//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//cmd/kubeadm/app/apis/kubeadm/v1alpha1:go_default_library", "//cmd/kubeadm/app/constants:go_default_library", @@ -65,7 +62,6 @@ go_library( "//vendor/github.com/PuerkitoBio/purell:go_default_library", "//vendor/github.com/blang/semver:go_default_library", "//vendor/github.com/golang/glog:go_default_library", - "//vendor/github.com/spf13/pflag:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", "//vendor/k8s.io/utils/exec:go_default_library", diff --git a/cmd/kubeadm/app/preflight/checks.go b/cmd/kubeadm/app/preflight/checks.go index 4336a019d0c..b3af7c18ddb 100644 --- a/cmd/kubeadm/app/preflight/checks.go +++ b/cmd/kubeadm/app/preflight/checks.go @@ -38,15 +38,11 @@ import ( "github.com/PuerkitoBio/purell" "github.com/blang/semver" "github.com/golang/glog" - "github.com/spf13/pflag" "net/url" netutil "k8s.io/apimachinery/pkg/util/net" "k8s.io/apimachinery/pkg/util/sets" - apiservoptions "k8s.io/kubernetes/cmd/kube-apiserver/app/options" - cmoptions "k8s.io/kubernetes/cmd/kube-controller-manager/app/options" - schedulerapp "k8s.io/kubernetes/cmd/kube-scheduler/app" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmdefaults "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" @@ -509,56 +505,6 @@ func (subnet HTTPProxyCIDRCheck) Check() (warnings, errors []error) { return nil, nil } -// ExtraArgsCheck checks if arguments are valid. -type ExtraArgsCheck struct { - APIServerExtraArgs map[string]string - ControllerManagerExtraArgs map[string]string - SchedulerExtraArgs map[string]string -} - -// Name will return ExtraArgs as name for ExtraArgsCheck -func (ExtraArgsCheck) Name() string { - return "ExtraArgs" -} - -// Check validates additional arguments of the control plane components. -func (eac ExtraArgsCheck) Check() (warnings, errors []error) { - glog.V(1).Infoln("validating additional arguments of the control plane components") - argsCheck := func(name string, args map[string]string, f *pflag.FlagSet) []error { - errs := []error{} - for k, v := range args { - if err := f.Set(k, v); err != nil { - errs = append(errs, fmt.Errorf("%s: failed to parse extra argument --%s=%s", name, k, v)) - } - } - return errs - } - - warnings = []error{} - if len(eac.APIServerExtraArgs) > 0 { - flags := pflag.NewFlagSet("", pflag.ContinueOnError) - s := apiservoptions.NewServerRunOptions() - s.AddFlags(flags) - warnings = append(warnings, argsCheck("kube-apiserver", eac.APIServerExtraArgs, flags)...) - } - if len(eac.ControllerManagerExtraArgs) > 0 { - flags := pflag.NewFlagSet("", pflag.ContinueOnError) - s := cmoptions.NewKubeControllerManagerOptions() - s.AddFlags(flags, []string{}, []string{}) - warnings = append(warnings, argsCheck("kube-controller-manager", eac.ControllerManagerExtraArgs, flags)...) - } - if len(eac.SchedulerExtraArgs) > 0 { - opts, err := schedulerapp.NewOptions() - if err != nil { - warnings = append(warnings, err) - } - flags := pflag.NewFlagSet("", pflag.ContinueOnError) - opts.AddFlags(flags) - warnings = append(warnings, argsCheck("kube-scheduler", eac.SchedulerExtraArgs, flags)...) - } - return warnings, nil -} - // SystemVerificationCheck defines struct used for for running the system verification node check in test/e2e_node/system type SystemVerificationCheck struct { CRISocket string @@ -885,11 +831,6 @@ func RunInitMasterChecks(execer utilsexec.Interface, cfg *kubeadmapi.MasterConfi FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.KubeControllerManager, manifestsDir)}, FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.KubeScheduler, manifestsDir)}, FileAvailableCheck{Path: kubeadmconstants.GetStaticPodFilepath(kubeadmconstants.Etcd, manifestsDir)}, - ExtraArgsCheck{ - APIServerExtraArgs: cfg.APIServerExtraArgs, - ControllerManagerExtraArgs: cfg.ControllerManagerExtraArgs, - SchedulerExtraArgs: cfg.SchedulerExtraArgs, - }, HTTPProxyCheck{Proto: "https", Host: cfg.API.AdvertiseAddress}, HTTPProxyCIDRCheck{Proto: "https", CIDR: cfg.Networking.ServiceSubnet}, HTTPProxyCIDRCheck{Proto: "https", CIDR: cfg.Networking.PodSubnet}, diff --git a/cmd/kubeadm/app/preflight/checks_test.go b/cmd/kubeadm/app/preflight/checks_test.go index dbf2cecf273..2436bd8f408 100644 --- a/cmd/kubeadm/app/preflight/checks_test.go +++ b/cmd/kubeadm/app/preflight/checks_test.go @@ -288,17 +288,6 @@ func TestRunChecks(t *testing.T) { {[]Checker{FileContentCheck{Path: "/", Content: []byte("does not exist")}}, false, ""}, {[]Checker{InPathCheck{executable: "foobarbaz", exec: exec.New()}}, true, "\t[WARNING FileExisting-foobarbaz]: foobarbaz not found in system path\n"}, {[]Checker{InPathCheck{executable: "foobarbaz", mandatory: true, exec: exec.New()}}, false, ""}, - {[]Checker{ExtraArgsCheck{ - APIServerExtraArgs: map[string]string{"secure-port": "1234"}, - ControllerManagerExtraArgs: map[string]string{"use-service-account-credentials": "true"}, - SchedulerExtraArgs: map[string]string{"leader-elect": "true"}, - }}, true, ""}, - {[]Checker{ExtraArgsCheck{ - APIServerExtraArgs: map[string]string{"secure-port": "foo"}, - }}, true, "\t[WARNING ExtraArgs]: kube-apiserver: failed to parse extra argument --secure-port=foo\n"}, - {[]Checker{ExtraArgsCheck{ - APIServerExtraArgs: map[string]string{"invalid-argument": "foo"}, - }}, true, "\t[WARNING ExtraArgs]: kube-apiserver: failed to parse extra argument --invalid-argument=foo\n"}, {[]Checker{InPathCheck{executable: "foobar", mandatory: false, exec: exec.New(), suggestion: "install foobar"}}, true, "\t[WARNING FileExisting-foobar]: foobar not found in system path\nSuggestion: install foobar\n"}, } for _, rt := range tokenTest {