diff --git a/cmd/kubeadm/app/apis/kubeadm/install/install_test.go b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer_test.go similarity index 76% rename from cmd/kubeadm/app/apis/kubeadm/install/install_test.go rename to cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer_test.go index 116033df759..79d99c3ce43 100644 --- a/cmd/kubeadm/app/apis/kubeadm/install/install_test.go +++ b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer_test.go @@ -1,5 +1,5 @@ /* -Copyright 2017 The Kubernetes Authors. +Copyright 2018 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. @@ -14,15 +14,15 @@ See the License for the specific language governing permissions and limitations under the License. */ -package install +package fuzzer import ( "testing" "k8s.io/apimachinery/pkg/api/testing/roundtrip" - kubeadmfuzzer "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/fuzzer" + "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" ) func TestRoundTripTypes(t *testing.T) { - roundtrip.RoundTripTestForAPIGroup(t, Install, kubeadmfuzzer.Funcs) + roundtrip.RoundTripTestForAPIGroup(t, scheme.AddToScheme, Funcs) } diff --git a/cmd/kubeadm/app/apis/kubeadm/install/doc.go b/cmd/kubeadm/app/apis/kubeadm/install/doc.go deleted file mode 100644 index a00b1043e2f..00000000000 --- a/cmd/kubeadm/app/apis/kubeadm/install/doc.go +++ /dev/null @@ -1,17 +0,0 @@ -/* -Copyright 2016 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 install // import "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" diff --git a/cmd/kubeadm/app/apis/kubeadm/install/install.go b/cmd/kubeadm/app/apis/kubeadm/install/install.go deleted file mode 100644 index 81bac336224..00000000000 --- a/cmd/kubeadm/app/apis/kubeadm/install/install.go +++ /dev/null @@ -1,36 +0,0 @@ -/* -Copyright 2016 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 install - -import ( - "k8s.io/apimachinery/pkg/runtime" - utilruntime "k8s.io/apimachinery/pkg/util/runtime" - "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" - "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" - "k8s.io/kubernetes/pkg/api/legacyscheme" -) - -func init() { - Install(legacyscheme.Scheme) -} - -// Install registers the API group and adds types to a scheme -func Install(scheme *runtime.Scheme) { - utilruntime.Must(kubeadm.AddToScheme(scheme)) - utilruntime.Must(v1alpha1.AddToScheme(scheme)) - utilruntime.Must(scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion)) -} diff --git a/cmd/kubeadm/app/apis/kubeadm/scheme/scheme.go b/cmd/kubeadm/app/apis/kubeadm/scheme/scheme.go index 8ee03603a71..97a8ce7e20e 100644 --- a/cmd/kubeadm/app/apis/kubeadm/scheme/scheme.go +++ b/cmd/kubeadm/app/apis/kubeadm/scheme/scheme.go @@ -21,6 +21,7 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" ) @@ -37,5 +38,7 @@ func init() { // AddToScheme builds the Kubeadm scheme using all known versions of the kubeadm api. func AddToScheme(scheme *runtime.Scheme) { + kubeadm.AddToScheme(scheme) v1alpha1.AddToScheme(scheme) + scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion) } diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade.go index 212ef0d7544..2b6ad7a1b39 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade.go @@ -29,8 +29,8 @@ import ( yaml "gopkg.in/yaml.v2" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - runtime "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/legacyscheme" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" ) var json = jsoniter.ConfigCompatibleWithStandardLibrary @@ -47,7 +47,7 @@ var migrations = map[string][]configMutationFunc{ // Migrate takes a map representing a config file and an object to decode into. // The map is transformed into a format suitable for encoding into the supplied object, then serialised and decoded. -func Migrate(in map[string]interface{}, obj runtime.Object) error { +func Migrate(in map[string]interface{}, obj runtime.Object, codecs serializer.CodecFactory) error { kind := reflect.TypeOf(obj).Elem().Name() migrationsForKind := migrations[kind] @@ -65,7 +65,7 @@ func Migrate(in map[string]interface{}, obj runtime.Object) error { return fmt.Errorf("couldn't json encode object: %v", err) } - return runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), buf.Bytes(), obj) + return runtime.DecodeInto(codecs.UniversalDecoder(), buf.Bytes(), obj) } func proxyFeatureListToMap(m map[string]interface{}) error { diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade_test.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade_test.go index 6a1fca7e1d3..950c6ed68bc 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade_test.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha1/upgrade_test.go @@ -21,6 +21,8 @@ import ( "testing" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" ) const test196 = "testdata/kubeadm196.yaml" @@ -36,8 +38,12 @@ func TestUpgrade(t *testing.T) { t.Fatalf("couldn't unmarshal test yaml: %v", err) } - var obj MasterConfiguration - if err := Migrate(decoded, &obj); err != nil { + scheme := runtime.NewScheme() + AddToScheme(scheme) + codecs := serializer.NewCodecFactory(scheme) + + obj := &MasterConfiguration{} + if err := Migrate(decoded, obj, codecs); err != nil { t.Fatalf("couldn't decode migrated object: %v", err) } } diff --git a/cmd/kubeadm/app/cmd/cmd.go b/cmd/kubeadm/app/cmd/cmd.go index b0ed29535ea..c633122b683 100644 --- a/cmd/kubeadm/app/cmd/cmd.go +++ b/cmd/kubeadm/app/cmd/cmd.go @@ -25,10 +25,8 @@ import ( "k8s.io/apiserver/pkg/util/flag" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/phases" "k8s.io/kubernetes/cmd/kubeadm/app/cmd/upgrade" - // Register the kubeadm configuration types because CLI flag generation // depends on the generated defaults. - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" ) // NewKubeadmCommand return cobra.Command to run kubeadm command diff --git a/cmd/kubeadm/app/cmd/config.go b/cmd/kubeadm/app/cmd/config.go index 9fbba632e36..ca8b9fb7f00 100644 --- a/cmd/kubeadm/app/cmd/config.go +++ b/cmd/kubeadm/app/cmd/config.go @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" "k8s.io/kubernetes/cmd/kubeadm/app/constants" @@ -38,7 +39,6 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) // NewCmdConfig returns cobra.Command for "kubeadm config" command @@ -143,7 +143,7 @@ func NewCmdConfigUploadFromFile(out io.Writer, kubeConfigFile *string) *cobra.Co // NewCmdConfigUploadFromFlags returns cobra.Command for "kubeadm config upload from-flags" command func NewCmdConfigUploadFromFlags(out io.Writer, kubeConfigFile *string) *cobra.Command { cfg := &kubeadmapiv1alpha1.MasterConfiguration{} - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var featureGatesString string diff --git a/cmd/kubeadm/app/cmd/init.go b/cmd/kubeadm/app/cmd/init.go index f47890dd631..d35213ddca0 100644 --- a/cmd/kubeadm/app/cmd/init.go +++ b/cmd/kubeadm/app/cmd/init.go @@ -36,6 +36,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -61,7 +62,6 @@ import ( configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" dryrunutil "k8s.io/kubernetes/cmd/kubeadm/app/util/dryrun" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" utilsexec "k8s.io/utils/exec" ) @@ -117,7 +117,7 @@ var ( // NewCmdInit returns "kubeadm init" command. func NewCmdInit(out io.Writer) *cobra.Command { cfg := &kubeadmapiv1alpha1.MasterConfiguration{} - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath string var skipPreFlight bool @@ -130,14 +130,15 @@ func NewCmdInit(out io.Writer) *cobra.Command { Use: "init", Short: "Run this command in order to set up the Kubernetes master.", Run: func(cmd *cobra.Command, args []string) { + var err error if cfg.FeatureGates, err = features.NewFeatureGate(&features.InitFeatureGates, featureGatesString); err != nil { kubeadmutil.CheckErr(err) } - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) internalcfg := &kubeadmapi.MasterConfiguration{} - legacyscheme.Scheme.Convert(cfg, internalcfg, nil) + kubeadmscheme.Scheme.Convert(cfg, internalcfg, nil) ignorePreflightErrorsSet, err := validation.ValidateIgnorePreflightErrors(ignorePreflightErrors, skipPreFlight) kubeadmutil.CheckErr(err) @@ -247,7 +248,7 @@ func NewInit(cfgPath string, cfg *kubeadmapi.MasterConfiguration, ignorePrefligh if err != nil { return nil, fmt.Errorf("unable to read config from %q [%v]", cfgPath, err) } - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { return nil, fmt.Errorf("unable to decode config from %q [%v]", cfgPath, err) } } diff --git a/cmd/kubeadm/app/cmd/join.go b/cmd/kubeadm/app/cmd/join.go index df1beed29e6..ce794f9fc52 100644 --- a/cmd/kubeadm/app/cmd/join.go +++ b/cmd/kubeadm/app/cmd/join.go @@ -32,6 +32,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" certutil "k8s.io/client-go/util/cert" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" @@ -41,7 +42,6 @@ import ( "k8s.io/kubernetes/cmd/kubeadm/app/preflight" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" nodeutil "k8s.io/kubernetes/pkg/util/node" utilsexec "k8s.io/utils/exec" ) @@ -103,7 +103,7 @@ var ( // NewCmdJoin returns "kubeadm join" command. func NewCmdJoin(out io.Writer) *cobra.Command { cfg := &kubeadmapiv1alpha1.NodeConfiguration{} - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var skipPreFlight bool var cfgPath string @@ -137,9 +137,9 @@ func NewValidJoin(cfg *kubeadmapiv1alpha1.NodeConfiguration, args []string, skip return nil, err } - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) internalcfg := &kubeadmapi.NodeConfiguration{} - legacyscheme.Scheme.Convert(cfg, internalcfg, nil) + kubeadmscheme.Scheme.Convert(cfg, internalcfg, nil) ignorePreflightErrorsSet, err := validation.ValidateIgnorePreflightErrors(ignorePreflightErrors, skipPreFlight) if err != nil { @@ -220,7 +220,7 @@ func NewJoin(cfgPath string, args []string, cfg *kubeadmapi.NodeConfiguration, i return nil, fmt.Errorf("unable to read config from %q [%v]", cfgPath, err) } glog.V(1).Infoln("[join] decoding configuration information") - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { return nil, fmt.Errorf("unable to decode config from %q [%v]", cfgPath, err) } } diff --git a/cmd/kubeadm/app/cmd/join_test.go b/cmd/kubeadm/app/cmd/join_test.go index 1e8a1de2fd8..610e804512e 100644 --- a/cmd/kubeadm/app/cmd/join_test.go +++ b/cmd/kubeadm/app/cmd/join_test.go @@ -24,8 +24,8 @@ import ( "testing" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) const ( @@ -147,7 +147,7 @@ func TestNewValidJoin(t *testing.T) { var out bytes.Buffer cfg := &kubeadmapiv1alpha1.NodeConfiguration{} - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) errorFormat := "Test case %q: NewValidJoin expected error: %v, saw: %v, error: %v" diff --git a/cmd/kubeadm/app/cmd/phases/addons.go b/cmd/kubeadm/app/cmd/phases/addons.go index d54f67e611a..2fef2ee2938 100644 --- a/cmd/kubeadm/app/cmd/phases/addons.go +++ b/cmd/kubeadm/app/cmd/phases/addons.go @@ -24,6 +24,7 @@ import ( clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -33,7 +34,6 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -96,7 +96,7 @@ func EnsureAllAddons(cfg *kubeadmapi.MasterConfiguration, client clientset.Inter func getAddonsSubCommands() []*cobra.Command { cfg := &kubeadmapiv1alpha1.MasterConfiguration{} // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, kubeConfigFile, featureGatesString string var subCmds []*cobra.Command @@ -182,7 +182,7 @@ func runAddonsCmdFunc(cmdFunc func(cfg *kubeadmapi.MasterConfiguration, client c } internalcfg := &kubeadmapi.MasterConfiguration{} - legacyscheme.Scheme.Convert(cfg, internalcfg, nil) + kubeadmscheme.Scheme.Convert(cfg, internalcfg, nil) client, err := kubeconfigutil.ClientSetFromFile(*kubeConfigFile) kubeadmutil.CheckErr(err) internalcfg, err = configutil.ConfigFileAndDefaultsToInternalConfig(*cfgPath, cfg) diff --git a/cmd/kubeadm/app/cmd/phases/addons_test.go b/cmd/kubeadm/app/cmd/phases/addons_test.go index 424e319081e..e2333ec305b 100644 --- a/cmd/kubeadm/app/cmd/phases/addons_test.go +++ b/cmd/kubeadm/app/cmd/phases/addons_test.go @@ -19,9 +19,6 @@ package phases import ( "testing" - // required for triggering api machinery startup when running unit tests - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" - cmdtestutil "k8s.io/kubernetes/cmd/kubeadm/test/cmd" ) diff --git a/cmd/kubeadm/app/cmd/phases/bootstraptoken.go b/cmd/kubeadm/app/cmd/phases/bootstraptoken.go index f966a2db2a7..4057bfb0f26 100644 --- a/cmd/kubeadm/app/cmd/phases/bootstraptoken.go +++ b/cmd/kubeadm/app/cmd/phases/bootstraptoken.go @@ -27,6 +27,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -36,7 +37,6 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -115,7 +115,7 @@ func NewSubCmdBootstrapTokenAll(kubeConfigFile *string) *cobra.Command { } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, description string var skipTokenPrint bool @@ -173,7 +173,7 @@ func NewSubCmdBootstrapToken(kubeConfigFile *string) *cobra.Command { } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, description string var skipTokenPrint bool diff --git a/cmd/kubeadm/app/cmd/phases/certs.go b/cmd/kubeadm/app/cmd/phases/certs.go index 82e968c44a6..149a013684b 100644 --- a/cmd/kubeadm/app/cmd/phases/certs.go +++ b/cmd/kubeadm/app/cmd/phases/certs.go @@ -22,6 +22,7 @@ import ( "github.com/spf13/cobra" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -29,7 +30,6 @@ import ( certsphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -158,7 +158,7 @@ func getCertsSubCommands(defaultKubernetesVersion string) []*cobra.Command { } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath string var subCmds []*cobra.Command diff --git a/cmd/kubeadm/app/cmd/phases/certs_test.go b/cmd/kubeadm/app/cmd/phases/certs_test.go index 31b9b49ce49..97c5438031a 100644 --- a/cmd/kubeadm/app/cmd/phases/certs_test.go +++ b/cmd/kubeadm/app/cmd/phases/certs_test.go @@ -21,9 +21,6 @@ import ( "os" "testing" - // required for triggering api machinery startup when running unit tests - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" - 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/pkiutil" diff --git a/cmd/kubeadm/app/cmd/phases/controlplane.go b/cmd/kubeadm/app/cmd/phases/controlplane.go index 01101567d75..012eee1485d 100644 --- a/cmd/kubeadm/app/cmd/phases/controlplane.go +++ b/cmd/kubeadm/app/cmd/phases/controlplane.go @@ -24,6 +24,7 @@ import ( utilflag "k8s.io/apiserver/pkg/util/flag" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -32,7 +33,6 @@ import ( controlplanephase "k8s.io/kubernetes/cmd/kubeadm/app/phases/controlplane" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -89,7 +89,7 @@ func getControlPlaneSubCommands(outDir, defaultKubernetesVersion string) []*cobr } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, featureGatesString string var subCmds []*cobra.Command diff --git a/cmd/kubeadm/app/cmd/phases/controlplane_test.go b/cmd/kubeadm/app/cmd/phases/controlplane_test.go index 6333263dfb1..8f741a499f1 100644 --- a/cmd/kubeadm/app/cmd/phases/controlplane_test.go +++ b/cmd/kubeadm/app/cmd/phases/controlplane_test.go @@ -21,9 +21,6 @@ import ( "os" "testing" - // required for triggering api machinery startup when running unit tests - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" - testutil "k8s.io/kubernetes/cmd/kubeadm/test" cmdtestutil "k8s.io/kubernetes/cmd/kubeadm/test/cmd" ) diff --git a/cmd/kubeadm/app/cmd/phases/etcd.go b/cmd/kubeadm/app/cmd/phases/etcd.go index 307ed17bb95..473f6017dd1 100644 --- a/cmd/kubeadm/app/cmd/phases/etcd.go +++ b/cmd/kubeadm/app/cmd/phases/etcd.go @@ -22,11 +22,11 @@ import ( "github.com/spf13/cobra" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" etcdphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/etcd" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -71,7 +71,7 @@ func getEtcdSubCommands(outDir, defaultKubernetesVersion string) []*cobra.Comman } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath string var subCmds []*cobra.Command diff --git a/cmd/kubeadm/app/cmd/phases/etcd_test.go b/cmd/kubeadm/app/cmd/phases/etcd_test.go index 90a82f96d1f..cc12e3c8222 100644 --- a/cmd/kubeadm/app/cmd/phases/etcd_test.go +++ b/cmd/kubeadm/app/cmd/phases/etcd_test.go @@ -21,9 +21,6 @@ import ( "os" "testing" - // required for triggering api machinery startup when running unit tests - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" - testutil "k8s.io/kubernetes/cmd/kubeadm/test" cmdtestutil "k8s.io/kubernetes/cmd/kubeadm/test/cmd" ) diff --git a/cmd/kubeadm/app/cmd/phases/kubeconfig.go b/cmd/kubeadm/app/cmd/phases/kubeconfig.go index 82c439a78ce..fa009f1881b 100644 --- a/cmd/kubeadm/app/cmd/phases/kubeconfig.go +++ b/cmd/kubeadm/app/cmd/phases/kubeconfig.go @@ -24,11 +24,11 @@ import ( "github.com/spf13/cobra" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -100,7 +100,7 @@ func getKubeConfigSubCommands(out io.Writer, outDir, defaultKubernetesVersion st } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, token, clientName string var organizations []string diff --git a/cmd/kubeadm/app/cmd/phases/kubeconfig_test.go b/cmd/kubeadm/app/cmd/phases/kubeconfig_test.go index 97eed98eb56..309a5922a4a 100644 --- a/cmd/kubeadm/app/cmd/phases/kubeconfig_test.go +++ b/cmd/kubeadm/app/cmd/phases/kubeconfig_test.go @@ -23,9 +23,6 @@ import ( "path/filepath" "testing" - // required for triggering api machinery startup when running unit tests - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" - "k8s.io/client-go/tools/clientcmd" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" diff --git a/cmd/kubeadm/app/cmd/phases/kubelet.go b/cmd/kubeadm/app/cmd/phases/kubelet.go index 6e503acdb55..a0f628d951d 100644 --- a/cmd/kubeadm/app/cmd/phases/kubelet.go +++ b/cmd/kubeadm/app/cmd/phases/kubelet.go @@ -23,6 +23,7 @@ import ( "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/runtime" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" "k8s.io/kubernetes/cmd/kubeadm/app/features" @@ -30,7 +31,6 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" nodeutil "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -96,7 +96,7 @@ func NewCmdKubeletWriteInitConfig() *cobra.Command { // the lookup of the version from the internet when executing ConfigFileAndDefaultsToInternalConfig KubernetesVersion: "v1.9.0", } - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) // This call returns the ready-to-use configuration based on the configuration file that might or might not exist and the default cfg populated by flags internalcfg, err := configutil.ConfigFileAndDefaultsToInternalConfig(cfgPath, cfg) @@ -130,7 +130,7 @@ func NewCmdKubeletUploadDynamicConfig() *cobra.Command { // the lookup of the version from the internet when executing ConfigFileAndDefaultsToInternalConfig KubernetesVersion: "v1.9.0", } - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) // This call returns the ready-to-use configuration based on the configuration file that might or might not exist and the default cfg populated by flags internalcfg, err := configutil.ConfigFileAndDefaultsToInternalConfig(cfgPath, cfg) @@ -155,7 +155,7 @@ func NewCmdKubeletUploadDynamicConfig() *cobra.Command { // NewCmdKubeletEnableDynamicConfig calls cobra.Command for enabling dynamic kubelet configuration on node func NewCmdKubeletEnableDynamicConfig() *cobra.Command { cfg := &kubeadmapiv1alpha1.NodeConfiguration{} - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath string cmd := &cobra.Command{ @@ -188,7 +188,7 @@ func getNodeName(cfgPath string, cfg *kubeadmapiv1alpha1.NodeConfiguration) (str if err != nil { return "", fmt.Errorf("unable to read config from %q [%v]", cfgPath, err) } - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { return "", fmt.Errorf("unable to decode config from %q [%v]", cfgPath, err) } } diff --git a/cmd/kubeadm/app/cmd/phases/markmaster.go b/cmd/kubeadm/app/cmd/phases/markmaster.go index 4b60e71a5c4..8c201c8a3dc 100644 --- a/cmd/kubeadm/app/cmd/phases/markmaster.go +++ b/cmd/kubeadm/app/cmd/phases/markmaster.go @@ -19,6 +19,7 @@ package phases import ( "github.com/spf13/cobra" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -26,7 +27,6 @@ import ( kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -54,7 +54,7 @@ func NewCmdMarkMaster() *cobra.Command { } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, kubeConfigFile string cmd := &cobra.Command{ diff --git a/cmd/kubeadm/app/cmd/phases/selfhosting.go b/cmd/kubeadm/app/cmd/phases/selfhosting.go index cb6a705f820..a65abe9ffd3 100644 --- a/cmd/kubeadm/app/cmd/phases/selfhosting.go +++ b/cmd/kubeadm/app/cmd/phases/selfhosting.go @@ -23,6 +23,7 @@ import ( "github.com/spf13/cobra" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -33,7 +34,6 @@ import ( "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/normalizer" ) @@ -72,7 +72,7 @@ func getSelfhostingSubCommand() *cobra.Command { cfg := &kubeadmapiv1alpha1.MasterConfiguration{} // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, kubeConfigFile, featureGatesString string diff --git a/cmd/kubeadm/app/cmd/token.go b/cmd/kubeadm/app/cmd/token.go index a9f5279d2f2..dbed0a1530a 100644 --- a/cmd/kubeadm/app/cmd/token.go +++ b/cmd/kubeadm/app/cmd/token.go @@ -37,6 +37,7 @@ import ( bootstrapapi "k8s.io/client-go/tools/bootstrap/token/api" "k8s.io/client-go/tools/clientcmd" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" cmdutil "k8s.io/kubernetes/cmd/kubeadm/app/cmd/util" @@ -47,7 +48,6 @@ import ( configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" kubeconfigutil "k8s.io/kubernetes/cmd/kubeadm/app/util/kubeconfig" tokenutil "k8s.io/kubernetes/cmd/kubeadm/app/util/token" - "k8s.io/kubernetes/pkg/api/legacyscheme" api "k8s.io/kubernetes/pkg/apis/core" ) @@ -99,7 +99,7 @@ func NewCmdToken(out io.Writer, errW io.Writer) *cobra.Command { } // Default values for the cobra help text - legacyscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Default(cfg) var cfgPath, description string var printJoinCommand bool diff --git a/cmd/kubeadm/app/kubeadm.go b/cmd/kubeadm/app/kubeadm.go index e36d254993d..df299180815 100644 --- a/cmd/kubeadm/app/kubeadm.go +++ b/cmd/kubeadm/app/kubeadm.go @@ -23,7 +23,6 @@ import ( _ "github.com/golang/glog" "github.com/spf13/pflag" - _ "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/install" "k8s.io/kubernetes/cmd/kubeadm/app/cmd" ) diff --git a/cmd/kubeadm/app/phases/addons/dns/dns.go b/cmd/kubeadm/app/phases/addons/dns/dns.go index f7fc2cba5aa..4a12de356e6 100644 --- a/cmd/kubeadm/app/phases/addons/dns/dns.go +++ b/cmd/kubeadm/app/phases/addons/dns/dns.go @@ -31,12 +31,12 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kuberuntime "k8s.io/apimachinery/pkg/runtime" clientset "k8s.io/client-go/kubernetes" + clientsetscheme "k8s.io/client-go/kubernetes/scheme" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/features" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/version" ) @@ -123,7 +123,7 @@ func CreateServiceAccount(client clientset.Interface) error { func createKubeDNSAddon(deploymentBytes, serviceBytes []byte, client clientset.Interface) error { kubednsDeployment := &apps.Deployment{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), deploymentBytes, kubednsDeployment); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), deploymentBytes, kubednsDeployment); err != nil { return fmt.Errorf("unable to decode kube-dns deployment %v", err) } @@ -201,7 +201,7 @@ func coreDNSAddon(cfg *kubeadmapi.MasterConfiguration, client clientset.Interfac func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, client clientset.Interface) error { coreDNSConfigMap := &v1.ConfigMap{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), configBytes, coreDNSConfigMap); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), configBytes, coreDNSConfigMap); err != nil { return fmt.Errorf("unable to decode CoreDNS configmap %v", err) } @@ -211,7 +211,7 @@ func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, clien } coreDNSClusterRoles := &rbac.ClusterRole{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), []byte(CoreDNSClusterRole), coreDNSClusterRoles); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), []byte(CoreDNSClusterRole), coreDNSClusterRoles); err != nil { return fmt.Errorf("unable to decode CoreDNS clusterroles %v", err) } @@ -221,7 +221,7 @@ func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, clien } coreDNSClusterRolesBinding := &rbac.ClusterRoleBinding{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), []byte(CoreDNSClusterRoleBinding), coreDNSClusterRolesBinding); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), []byte(CoreDNSClusterRoleBinding), coreDNSClusterRolesBinding); err != nil { return fmt.Errorf("unable to decode CoreDNS clusterrolebindings %v", err) } @@ -231,7 +231,7 @@ func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, clien } coreDNSServiceAccount := &v1.ServiceAccount{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), []byte(CoreDNSServiceAccount), coreDNSServiceAccount); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), []byte(CoreDNSServiceAccount), coreDNSServiceAccount); err != nil { return fmt.Errorf("unable to decode CoreDNS serviceaccount %v", err) } @@ -241,7 +241,7 @@ func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, clien } coreDNSDeployment := &apps.Deployment{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), deploymentBytes, coreDNSDeployment); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), deploymentBytes, coreDNSDeployment); err != nil { return fmt.Errorf("unable to decode CoreDNS deployment %v", err) } @@ -255,7 +255,7 @@ func createCoreDNSAddon(deploymentBytes, serviceBytes, configBytes []byte, clien } func createDNSService(dnsService *v1.Service, serviceBytes []byte, client clientset.Interface) error { - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), serviceBytes, dnsService); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), serviceBytes, dnsService); err != nil { return fmt.Errorf("unable to decode the DNS service %v", err) } diff --git a/cmd/kubeadm/app/phases/addons/proxy/proxy.go b/cmd/kubeadm/app/phases/addons/proxy/proxy.go index 261ac164845..cde76c4391c 100644 --- a/cmd/kubeadm/app/phases/addons/proxy/proxy.go +++ b/cmd/kubeadm/app/phases/addons/proxy/proxy.go @@ -27,10 +27,10 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kuberuntime "k8s.io/apimachinery/pkg/runtime" clientset "k8s.io/client-go/kubernetes" + clientsetscheme "k8s.io/client-go/kubernetes/scheme" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" - "k8s.io/kubernetes/pkg/api/legacyscheme" kubeproxyconfigscheme "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/scheme" kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/kubeproxyconfig/v1alpha1" ) @@ -113,7 +113,7 @@ func CreateRBACRules(client clientset.Interface) error { func createKubeProxyAddon(configMapBytes, daemonSetbytes []byte, client clientset.Interface) error { kubeproxyConfigMap := &v1.ConfigMap{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), configMapBytes, kubeproxyConfigMap); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), configMapBytes, kubeproxyConfigMap); err != nil { return fmt.Errorf("unable to decode kube-proxy configmap %v", err) } @@ -123,7 +123,7 @@ func createKubeProxyAddon(configMapBytes, daemonSetbytes []byte, client clientse } kubeproxyDaemonSet := &apps.DaemonSet{} - if err := kuberuntime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), daemonSetbytes, kubeproxyDaemonSet); err != nil { + if err := kuberuntime.DecodeInto(clientsetscheme.Codecs.UniversalDecoder(), daemonSetbytes, kubeproxyDaemonSet); err != nil { return fmt.Errorf("unable to decode kube-proxy daemonset %v", err) } diff --git a/cmd/kubeadm/app/phases/upgrade/configuration.go b/cmd/kubeadm/app/phases/upgrade/configuration.go index 99ddc84cb9f..c9de1fbb2e8 100644 --- a/cmd/kubeadm/app/phases/upgrade/configuration.go +++ b/cmd/kubeadm/app/phases/upgrade/configuration.go @@ -25,11 +25,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" "k8s.io/kubernetes/cmd/kubeadm/app/constants" configutil "k8s.io/kubernetes/cmd/kubeadm/app/util/config" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) // FetchConfiguration fetches configuration required for upgrading your cluster from a file (which has precedence) or a ConfigMap in the cluster @@ -107,12 +107,12 @@ func bytesToValidatedMasterConfig(b []byte) (*kubeadmapiv1alpha1.MasterConfigura return nil, fmt.Errorf("unable to decode config from bytes: %v", err) } - if err := kubeadmapiv1alpha1.Migrate(decoded, cfg); err != nil { + if err := kubeadmapiv1alpha1.Migrate(decoded, cfg, kubeadmscheme.Codecs); err != nil { return nil, fmt.Errorf("unable to migrate config from previous version: %v", err) } // Default and convert to the internal version - legacyscheme.Scheme.Default(cfg) - legacyscheme.Scheme.Convert(cfg, internalcfg, nil) + kubeadmscheme.Scheme.Default(cfg) + kubeadmscheme.Scheme.Convert(cfg, internalcfg, nil) // Applies dynamic defaults to settings not provided with flags if err := configutil.SetInitDynamicDefaults(internalcfg); err != nil { @@ -123,6 +123,6 @@ func bytesToValidatedMasterConfig(b []byte) (*kubeadmapiv1alpha1.MasterConfigura return nil, err } // Finally converts back to the external version - legacyscheme.Scheme.Convert(internalcfg, finalCfg, nil) + kubeadmscheme.Scheme.Convert(internalcfg, finalCfg, nil) return finalCfg, nil } diff --git a/cmd/kubeadm/app/phases/upgrade/staticpods_test.go b/cmd/kubeadm/app/phases/upgrade/staticpods_test.go index be6de8b6285..dc34d0ca973 100644 --- a/cmd/kubeadm/app/phases/upgrade/staticpods_test.go +++ b/cmd/kubeadm/app/phases/upgrade/staticpods_test.go @@ -30,6 +30,7 @@ import ( "github.com/coreos/etcd/pkg/transport" "k8s.io/apimachinery/pkg/runtime" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/constants" certsphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/certs" @@ -37,7 +38,6 @@ import ( etcdphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/etcd" "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" etcdutil "k8s.io/kubernetes/cmd/kubeadm/app/util/etcd" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) const ( @@ -487,9 +487,9 @@ func getAPIServerHash(dir string) (string, error) { func getConfig(version, certsDir, etcdDataDir string) (*kubeadmapi.MasterConfiguration, error) { externalcfg := &kubeadmapiv1alpha1.MasterConfiguration{} internalcfg := &kubeadmapi.MasterConfiguration{} - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), []byte(fmt.Sprintf(testConfiguration, certsDir, etcdDataDir, version)), externalcfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), []byte(fmt.Sprintf(testConfiguration, certsDir, etcdDataDir, version)), externalcfg); err != nil { return nil, fmt.Errorf("unable to decode config: %v", err) } - legacyscheme.Scheme.Convert(externalcfg, internalcfg, nil) + kubeadmscheme.Scheme.Convert(externalcfg, internalcfg, nil) return internalcfg, nil } diff --git a/cmd/kubeadm/app/phases/uploadconfig/uploadconfig.go b/cmd/kubeadm/app/phases/uploadconfig/uploadconfig.go index abdd04fc9bf..254aac3b51b 100644 --- a/cmd/kubeadm/app/phases/uploadconfig/uploadconfig.go +++ b/cmd/kubeadm/app/phases/uploadconfig/uploadconfig.go @@ -24,11 +24,11 @@ import ( clientset "k8s.io/client-go/kubernetes" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/cmd/kubeadm/app/util/apiclient" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) // UploadConfiguration saves the MasterConfiguration used for later reference (when upgrading for instance) @@ -38,7 +38,7 @@ func UploadConfiguration(cfg *kubeadmapi.MasterConfiguration, client clientset.I // Convert cfg to the external version as that's the only version of the API that can be deserialized later externalcfg := &kubeadmapiv1alpha1.MasterConfiguration{} - legacyscheme.Scheme.Convert(cfg, externalcfg, nil) + kubeadmscheme.Scheme.Convert(cfg, externalcfg, nil) // Removes sensitive info from the data that will be stored in the config map externalcfg.Token = "" diff --git a/cmd/kubeadm/app/phases/uploadconfig/uploadconfig_test.go b/cmd/kubeadm/app/phases/uploadconfig/uploadconfig_test.go index 9ee1161907f..7feaa533be1 100644 --- a/cmd/kubeadm/app/phases/uploadconfig/uploadconfig_test.go +++ b/cmd/kubeadm/app/phases/uploadconfig/uploadconfig_test.go @@ -25,9 +25,9 @@ import ( clientsetfake "k8s.io/client-go/kubernetes/fake" core "k8s.io/client-go/testing" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" - "k8s.io/kubernetes/pkg/api/legacyscheme" ) func TestUploadConfiguration(t *testing.T) { @@ -99,12 +99,12 @@ func TestUploadConfiguration(t *testing.T) { decodedExtCfg := &kubeadmapiv1alpha1.MasterConfiguration{} decodedCfg := &kubeadmapi.MasterConfiguration{} - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), []byte(configData), decodedExtCfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), []byte(configData), decodedExtCfg); err != nil { t.Errorf("unable to decode config from bytes: %v", err) } // Default and convert to the internal version - legacyscheme.Scheme.Default(decodedExtCfg) - legacyscheme.Scheme.Convert(decodedExtCfg, decodedCfg, nil) + kubeadmscheme.Scheme.Default(decodedExtCfg) + kubeadmscheme.Scheme.Convert(decodedExtCfg, decodedCfg, nil) if decodedCfg.KubernetesVersion != cfg.KubernetesVersion { t.Errorf("Decoded value doesn't match, decoded = %#v, expected = %#v", decodedCfg.KubernetesVersion, cfg.KubernetesVersion) diff --git a/cmd/kubeadm/app/util/config/masterconfig.go b/cmd/kubeadm/app/util/config/masterconfig.go index 975558cff88..0286c156739 100644 --- a/cmd/kubeadm/app/util/config/masterconfig.go +++ b/cmd/kubeadm/app/util/config/masterconfig.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package cmd +package config import ( "fmt" @@ -26,12 +26,12 @@ import ( "k8s.io/apimachinery/pkg/runtime" netutil "k8s.io/apimachinery/pkg/util/net" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" + kubeadmscheme "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/scheme" kubeadmapiv1alpha1 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/validation" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" tokenutil "k8s.io/kubernetes/cmd/kubeadm/app/util/token" - "k8s.io/kubernetes/pkg/api/legacyscheme" "k8s.io/kubernetes/pkg/util/node" "k8s.io/kubernetes/pkg/util/version" ) @@ -84,7 +84,7 @@ func TryLoadMasterConfiguration(cfgPath string, cfg *kubeadmapiv1alpha1.MasterCo if err != nil { return fmt.Errorf("unable to read config from %q [%v]", cfgPath, err) } - if err := runtime.DecodeInto(legacyscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { + if err := runtime.DecodeInto(kubeadmscheme.Codecs.UniversalDecoder(), b, cfg); err != nil { return fmt.Errorf("unable to decode config from %q [%v]", cfgPath, err) } } @@ -110,8 +110,8 @@ func ConfigFileAndDefaultsToInternalConfig(cfgPath string, defaultversionedcfg * // Takes passed flags into account; the defaulting is executed once again enforcing assignement of // static default values to cfg only for values not provided with flags - legacyscheme.Scheme.Default(defaultversionedcfg) - legacyscheme.Scheme.Convert(defaultversionedcfg, internalcfg, nil) + kubeadmscheme.Scheme.Default(defaultversionedcfg) + kubeadmscheme.Scheme.Convert(defaultversionedcfg, internalcfg, nil) // Applies dynamic defaults to settings not provided with flags if err := SetInitDynamicDefaults(internalcfg); err != nil { return nil, err diff --git a/cmd/kubeadm/app/util/config/masterconfig_test.go b/cmd/kubeadm/app/util/config/masterconfig_test.go index 6d428badb54..5623a9cc4af 100644 --- a/cmd/kubeadm/app/util/config/masterconfig_test.go +++ b/cmd/kubeadm/app/util/config/masterconfig_test.go @@ -14,4 +14,5 @@ See the License for the specific language governing permissions and limitations under the License. */ -package cmd +// TODO: write unit tests for the functions in this package +package config diff --git a/hack/.golint_failures b/hack/.golint_failures index 451b22ebbf2..9fee346fd8c 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -7,6 +7,7 @@ cmd/kube-proxy/app cmd/kube-scheduler/app cmd/kubeadm/app cmd/kubeadm/app/apis/kubeadm/v1alpha1 +cmd/kubeadm/app/util/config cmd/kubelet/app cmd/kubelet/app/options cmd/kubemark