diff --git a/cmd/kube-apiserver/app/options/globalflags.go b/cmd/kube-apiserver/app/options/globalflags.go index 00f59c02502..05c5e14ef4d 100644 --- a/cmd/kube-apiserver/app/options/globalflags.go +++ b/cmd/kube-apiserver/app/options/globalflags.go @@ -33,8 +33,7 @@ func AddCustomGlobalFlags(fs *pflag.FlagSet) { // Lookup flags in global flag set and re-register the values with our flagset. // Adds flags from k8s.io/kubernetes/pkg/cloudprovider/providers. - globalflag.Register(fs, "cloud-provider-gce-lb-src-cidrs") - fs.MarkDeprecated("cloud-provider-gce-lb-src-cidrs", "This flag will be removed once the GCE Cloud Provider is removed from kube-apiserver") + registerLegacyGlobalFlags(fs) // Adds flags from k8s.io/apiserver/pkg/admission. globalflag.Register(fs, "default-not-ready-toleration-seconds") diff --git a/cmd/kube-apiserver/app/options/globalflags_legacyproviders.go b/cmd/kube-apiserver/app/options/globalflags_legacyproviders.go new file mode 100644 index 00000000000..e8f18b76b7c --- /dev/null +++ b/cmd/kube-apiserver/app/options/globalflags_legacyproviders.go @@ -0,0 +1,30 @@ +// +build !nolegacyproviders + +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package options + +import ( + "github.com/spf13/pflag" + + "k8s.io/component-base/cli/globalflag" +) + +func registerLegacyGlobalFlags(fs *pflag.FlagSet) { + globalflag.Register(fs, "cloud-provider-gce-lb-src-cidrs") + fs.MarkDeprecated("cloud-provider-gce-lb-src-cidrs", "This flag will be removed once the GCE Cloud Provider is removed from kube-apiserver") +} diff --git a/cmd/kube-apiserver/app/options/globalflags_nolegacyproviders.go b/cmd/kube-apiserver/app/options/globalflags_nolegacyproviders.go new file mode 100644 index 00000000000..a3493bd4440 --- /dev/null +++ b/cmd/kube-apiserver/app/options/globalflags_nolegacyproviders.go @@ -0,0 +1,27 @@ +// +build nolegacyproviders + +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package options + +import ( + "github.com/spf13/pflag" +) + +func registerLegacyGlobalFlags(fs *pflag.FlagSet) { + // no-op when no legacy providers are compiled in +} diff --git a/cmd/kube-controller-manager/app/controllermanager.go b/cmd/kube-controller-manager/app/controllermanager.go index e251c30fb4e..2ff0c41f6b5 100644 --- a/cmd/kube-controller-manager/app/controllermanager.go +++ b/cmd/kube-controller-manager/app/controllermanager.go @@ -126,10 +126,7 @@ controller, and serviceaccounts controller.`, namedFlagSets := s.Flags(KnownControllers(), ControllersDisabledByDefault.List()) verflag.AddFlags(namedFlagSets.FlagSet("global")) globalflag.AddGlobalFlags(namedFlagSets.FlagSet("global"), cmd.Name()) - // hoist this flag from the global flagset to preserve the commandline until - // the gce cloudprovider is removed. - globalflag.Register(namedFlagSets.FlagSet("generic"), "cloud-provider-gce-lb-src-cidrs") - namedFlagSets.FlagSet("generic").MarkDeprecated("cloud-provider-gce-lb-src-cidrs", "This flag will be removed once the GCE Cloud Provider is removed from kube-controller-manager") + registerLegacyGlobalFlags(namedFlagSets) for _, f := range namedFlagSets.FlagSets { fs.AddFlagSet(f) } diff --git a/cmd/kube-controller-manager/app/flags_legacyproviders.go b/cmd/kube-controller-manager/app/flags_legacyproviders.go new file mode 100644 index 00000000000..473bebc5d6c --- /dev/null +++ b/cmd/kube-controller-manager/app/flags_legacyproviders.go @@ -0,0 +1,31 @@ +// +build !nolegacyproviders + +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package app + +import ( + cliflag "k8s.io/component-base/cli/flag" + "k8s.io/component-base/cli/globalflag" +) + +func registerLegacyGlobalFlags(namedFlagSets cliflag.NamedFlagSets) { + // hoist this flag from the global flagset to preserve the commandline until + // the gce cloudprovider is removed. + globalflag.Register(namedFlagSets.FlagSet("generic"), "cloud-provider-gce-lb-src-cidrs") + namedFlagSets.FlagSet("generic").MarkDeprecated("cloud-provider-gce-lb-src-cidrs", "This flag will be removed once the GCE Cloud Provider is removed from kube-controller-manager") +} diff --git a/cmd/kube-controller-manager/app/flags_nolegacyproviders.go b/cmd/kube-controller-manager/app/flags_nolegacyproviders.go new file mode 100644 index 00000000000..b17238eb7a5 --- /dev/null +++ b/cmd/kube-controller-manager/app/flags_nolegacyproviders.go @@ -0,0 +1,27 @@ +// +build nolegacyproviders + +/* +Copyright 2019 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package app + +import ( + cliflag "k8s.io/component-base/cli/flag" +) + +func registerLegacyGlobalFlags(namedFlagSets cliflag.NamedFlagSets) { + // no-op when legacy cloud providers are not compiled +}