From 7e10810ed0a3dac7d191988d4d33377e5460873e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucas=20K=C3=A4ldstr=C3=B6m?= Date: Wed, 5 Sep 2018 14:02:25 +0300 Subject: [PATCH] Move CloudControllerManagerConfiguration from pkg/apis/componentconfig to cmd/cloud-controller-manager/app/apis/config --- cmd/cloud-controller-manager/app/BUILD | 1 + .../app/apis/config}/BUILD | 27 ++------ .../app/apis/config}/doc.go | 5 +- .../app/apis/config}/register.go | 31 ++++----- .../app/apis/config/scheme/BUILD | 29 +++++++++ .../app/apis/config/scheme/scheme.go | 44 +++++++++++++ .../app/apis/config}/types.go | 6 +- .../app/apis/config}/v1alpha1/BUILD | 32 ++++----- .../app/apis/config}/v1alpha1/defaults.go | 7 +- .../apis/config}/v1alpha1/defaults_test.go | 28 ++++++-- .../app/apis/config}/v1alpha1/doc.go | 9 ++- .../app/apis/config}/v1alpha1/register.go | 20 ++++-- .../app/apis/config}/v1alpha1/types.go | 2 +- .../v1alpha1/zz_generated.conversion.go | 26 ++++---- .../config}/v1alpha1/zz_generated.deepcopy.go | 0 .../config}/v1alpha1/zz_generated.defaults.go | 0 .../app/apis/config}/zz_generated.deepcopy.go | 65 +------------------ pkg/BUILD | 1 - pkg/apis/componentconfig/OWNERS | 18 ----- pkg/apis/componentconfig/fuzzer/BUILD | 26 -------- pkg/apis/componentconfig/fuzzer/fuzzer.go | 29 --------- pkg/apis/componentconfig/install/BUILD | 14 ---- pkg/generated/openapi/BUILD | 2 +- test/integration/apiserver/print_test.go | 4 -- 24 files changed, 175 insertions(+), 251 deletions(-) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/BUILD (51%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/doc.go (75%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/register.go (52%) create mode 100644 cmd/cloud-controller-manager/app/apis/config/scheme/BUILD create mode 100644 cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/types.go (90%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/BUILD (66%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/defaults.go (91%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/defaults_test.go (60%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/doc.go (74%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/register.go (62%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/types.go (97%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/zz_generated.conversion.go (55%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/zz_generated.deepcopy.go (100%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/v1alpha1/zz_generated.defaults.go (100%) rename {pkg/apis/componentconfig => cmd/cloud-controller-manager/app/apis/config}/zz_generated.deepcopy.go (52%) delete mode 100755 pkg/apis/componentconfig/OWNERS delete mode 100644 pkg/apis/componentconfig/fuzzer/BUILD delete mode 100644 pkg/apis/componentconfig/fuzzer/fuzzer.go delete mode 100644 pkg/apis/componentconfig/install/BUILD diff --git a/cmd/cloud-controller-manager/app/BUILD b/cmd/cloud-controller-manager/app/BUILD index 10f727d7b3e..ffc84501b27 100644 --- a/cmd/cloud-controller-manager/app/BUILD +++ b/cmd/cloud-controller-manager/app/BUILD @@ -39,6 +39,7 @@ filegroup( name = "all-srcs", srcs = [ ":package-srcs", + "//cmd/cloud-controller-manager/app/apis/config:all-srcs", "//cmd/cloud-controller-manager/app/config:all-srcs", "//cmd/cloud-controller-manager/app/options:all-srcs", "//cmd/cloud-controller-manager/app/testing:all-srcs", diff --git a/pkg/apis/componentconfig/BUILD b/cmd/cloud-controller-manager/app/apis/config/BUILD similarity index 51% rename from pkg/apis/componentconfig/BUILD rename to cmd/cloud-controller-manager/app/apis/config/BUILD index 2573f7db5ab..b9cf1e352a3 100644 --- a/pkg/apis/componentconfig/BUILD +++ b/cmd/cloud-controller-manager/app/apis/config/BUILD @@ -1,38 +1,23 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library") go_library( name = "go_default_library", srcs = [ "doc.go", - "helpers.go", "register.go", "types.go", "zz_generated.deepcopy.go", ], - importpath = "k8s.io/kubernetes/pkg/apis/componentconfig", + importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config", + visibility = ["//visibility:public"], deps = [ "//pkg/controller/apis/config:go_default_library", - "//staging/src/k8s.io/api/core/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", - "//staging/src/k8s.io/apimachinery/pkg/util/net:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["helpers_test.go"], - embed = [":go_default_library"], - deps = ["//vendor/github.com/spf13/pflag:go_default_library"], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), @@ -44,9 +29,9 @@ filegroup( name = "all-srcs", srcs = [ ":package-srcs", - "//pkg/apis/componentconfig/fuzzer:all-srcs", - "//pkg/apis/componentconfig/install:all-srcs", - "//pkg/apis/componentconfig/v1alpha1:all-srcs", + "//cmd/cloud-controller-manager/app/apis/config/scheme:all-srcs", + "//cmd/cloud-controller-manager/app/apis/config/v1alpha1:all-srcs", ], tags = ["automanaged"], + visibility = ["//visibility:public"], ) diff --git a/pkg/apis/componentconfig/doc.go b/cmd/cloud-controller-manager/app/apis/config/doc.go similarity index 75% rename from pkg/apis/componentconfig/doc.go rename to cmd/cloud-controller-manager/app/apis/config/doc.go index 159d61928b9..c72019b6d5f 100644 --- a/pkg/apis/componentconfig/doc.go +++ b/cmd/cloud-controller-manager/app/apis/config/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2016 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. @@ -15,5 +15,6 @@ limitations under the License. */ // +k8s:deepcopy-gen=package +// +groupName=cloudcontrollermanager.config.k8s.io -package componentconfig // import "k8s.io/kubernetes/pkg/apis/componentconfig" +package config // import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config" diff --git a/pkg/apis/componentconfig/register.go b/cmd/cloud-controller-manager/app/apis/config/register.go similarity index 52% rename from pkg/apis/componentconfig/register.go rename to cmd/cloud-controller-manager/app/apis/config/register.go index e42c8282032..ec81c6fc7fe 100644 --- a/pkg/apis/componentconfig/register.go +++ b/cmd/cloud-controller-manager/app/apis/config/register.go @@ -1,5 +1,5 @@ /* -Copyright 2015 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,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package componentconfig +package config import ( "k8s.io/apimachinery/pkg/runtime" @@ -22,31 +22,22 @@ import ( ) // GroupName is the group name use in this package -const GroupName = "componentconfig" +const GroupName = "cloudcontrollermanager.config.k8s.io" // SchemeGroupVersion is group version used to register these objects var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} var ( - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // SchemeBuilder is the scheme builder with scheme init functions to run for this API package + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // AddToScheme is a global function that registers this API group & version to a scheme + AddToScheme = SchemeBuilder.AddToScheme ) -func init() { - // We only register manually written functions here. The registration of the - // generated functions takes place in the generated files. The separation - // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes) -} - -// Kind takes an unqualified kind and returns a Group qualified GroupKind -func Kind(kind string) schema.GroupKind { - return SchemeGroupVersion.WithKind(kind).GroupKind() -} - +// addKnownTypes registers known types to the given scheme func addKnownTypes(scheme *runtime.Scheme) error { - // TODO: All structs in this package are about to be moved out, - // so nothing should be registered here as this API group is going to be removed soon. + scheme.AddKnownTypes(SchemeGroupVersion, + &CloudControllerManagerConfiguration{}, + ) return nil } diff --git a/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD b/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD new file mode 100644 index 00000000000..51c6ad62815 --- /dev/null +++ b/cmd/cloud-controller-manager/app/apis/config/scheme/BUILD @@ -0,0 +1,29 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["scheme.go"], + importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/scheme", + visibility = ["//visibility:public"], + deps = [ + "//cmd/cloud-controller-manager/app/apis/config:go_default_library", + "//cmd/cloud-controller-manager/app/apis/config/v1alpha1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/util/runtime:go_default_library", + ], +) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], + visibility = ["//visibility:public"], +) diff --git a/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go b/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go new file mode 100644 index 00000000000..45b6aef68d6 --- /dev/null +++ b/cmd/cloud-controller-manager/app/apis/config/scheme/scheme.go @@ -0,0 +1,44 @@ +/* +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. +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 scheme + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" + utilruntime "k8s.io/apimachinery/pkg/util/runtime" + "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config" + "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1" +) + +var ( + // Scheme defines methods for serializing and deserializing API objects. + Scheme = runtime.NewScheme() + // Codecs provides methods for retrieving codecs and serializers for specific + // versions and content types. + Codecs = serializer.NewCodecFactory(Scheme) +) + +func init() { + AddToScheme(Scheme) +} + +// AddToScheme adds the types of this group into the given scheme. +func AddToScheme(scheme *runtime.Scheme) { + utilruntime.Must(config.AddToScheme(scheme)) + utilruntime.Must(v1alpha1.AddToScheme(scheme)) + utilruntime.Must(scheme.SetVersionPriority(v1alpha1.SchemeGroupVersion)) +} diff --git a/pkg/apis/componentconfig/types.go b/cmd/cloud-controller-manager/app/apis/config/types.go similarity index 90% rename from pkg/apis/componentconfig/types.go rename to cmd/cloud-controller-manager/app/apis/config/types.go index 7da38398556..3eed47bf0fb 100644 --- a/pkg/apis/componentconfig/types.go +++ b/cmd/cloud-controller-manager/app/apis/config/types.go @@ -1,5 +1,5 @@ /* -Copyright 2015 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,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package componentconfig +package config import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -23,6 +23,7 @@ import ( // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +// CloudControllerManagerConfiguration contains elements describing cloud-controller manager. type CloudControllerManagerConfiguration struct { metav1.TypeMeta @@ -35,6 +36,7 @@ type CloudControllerManagerConfiguration struct { // ServiceControllerConfiguration holds configuration for ServiceController // related features. ServiceController kubectrlmgrconfig.ServiceControllerConfiguration + // NodeStatusUpdateFrequency is the frequency at which the controller updates nodes' status NodeStatusUpdateFrequency metav1.Duration } diff --git a/pkg/apis/componentconfig/v1alpha1/BUILD b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD similarity index 66% rename from pkg/apis/componentconfig/v1alpha1/BUILD rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD index a97e0a1cec3..8ccb0703ccb 100644 --- a/pkg/apis/componentconfig/v1alpha1/BUILD +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/BUILD @@ -1,10 +1,4 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", - "go_test", -) +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") go_library( name = "go_default_library", @@ -17,9 +11,10 @@ go_library( "zz_generated.deepcopy.go", "zz_generated.defaults.go", ], - importpath = "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1", + importpath = "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1", + visibility = ["//visibility:public"], deps = [ - "//pkg/apis/componentconfig:go_default_library", + "//cmd/cloud-controller-manager/app/apis/config:go_default_library", "//pkg/controller/apis/config/v1alpha1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library", @@ -29,6 +24,17 @@ go_library( ], ) +go_test( + name = "go_default_test", + srcs = ["defaults_test.go"], + embed = [":go_default_library"], + deps = [ + "//staging/src/k8s.io/api/core/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", + "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", + ], +) + filegroup( name = "package-srcs", srcs = glob(["**"]), @@ -40,11 +46,5 @@ filegroup( name = "all-srcs", srcs = [":package-srcs"], tags = ["automanaged"], -) - -go_test( - name = "go_default_test", - srcs = ["defaults_test.go"], - embed = [":go_default_library"], - deps = ["//pkg/apis/componentconfig:go_default_library"], + visibility = ["//visibility:public"], ) diff --git a/pkg/apis/componentconfig/v1alpha1/defaults.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go similarity index 91% rename from pkg/apis/componentconfig/v1alpha1/defaults.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go index dff62ec4b8c..217227b5012 100644 --- a/pkg/apis/componentconfig/v1alpha1/defaults.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults.go @@ -1,5 +1,5 @@ /* -Copyright 2015 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. @@ -20,11 +20,11 @@ import ( "time" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - kruntime "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime" kubectrlmgrconfigv1alpha1 "k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1" ) -func addDefaultingFuncs(scheme *kruntime.Scheme) error { +func addDefaultingFuncs(scheme *runtime.Scheme) error { return RegisterDefaults(scheme) } @@ -33,6 +33,7 @@ func SetDefaults_CloudControllerManagerConfiguration(obj *CloudControllerManager if obj.NodeStatusUpdateFrequency == zero { obj.NodeStatusUpdateFrequency = metav1.Duration{Duration: 5 * time.Minute} } + // These defaults override the recommended defaults from the apimachineryconfigv1alpha1 package that are applied automatically // These client-connection defaults are specific to the cloud-controller-manager if obj.Generic.ClientConnection.QPS == 0 { diff --git a/pkg/apis/componentconfig/v1alpha1/defaults_test.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults_test.go similarity index 60% rename from pkg/apis/componentconfig/v1alpha1/defaults_test.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults_test.go index 46d10194dce..f3dffd053a3 100644 --- a/pkg/apis/componentconfig/v1alpha1/defaults_test.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/defaults_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. @@ -21,13 +21,15 @@ import ( "reflect" "testing" - componentconfig "k8s.io/kubernetes/pkg/apis/componentconfig" + "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" ) -func TestCloudControllerDefaultsRoundTrip(t *testing.T) { +func TestCloudControllerManagerDefaultsRoundTrip(t *testing.T) { ks1 := &CloudControllerManagerConfiguration{} SetDefaults_CloudControllerManagerConfiguration(ks1) - cm, err := componentconfig.ConvertObjToConfigMap("CloudControllerManagerConfiguration", ks1) + cm, err := convertObjToConfigMap("CloudControllerManagerConfiguration", ks1) if err != nil { t.Errorf("unexpected ConvertObjToConfigMap error %v", err) } @@ -41,3 +43,21 @@ func TestCloudControllerDefaultsRoundTrip(t *testing.T) { t.Errorf("Expected:\n%#v\n\nGot:\n%#v", ks1, ks2) } } + +// convertObjToConfigMap converts an object to a ConfigMap. +// This is specifically meant for ComponentConfigs. +func convertObjToConfigMap(name string, obj runtime.Object) (*v1.ConfigMap, error) { + eJSONBytes, err := json.Marshal(obj) + if err != nil { + return nil, err + } + cm := &v1.ConfigMap{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + }, + Data: map[string]string{ + name: string(eJSONBytes[:]), + }, + } + return cm, nil +} diff --git a/pkg/apis/componentconfig/v1alpha1/doc.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go similarity index 74% rename from pkg/apis/componentconfig/v1alpha1/doc.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go index 0576c10c2ba..469b6081f6e 100644 --- a/pkg/apis/componentconfig/v1alpha1/doc.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2016 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. @@ -20,11 +20,10 @@ limitations under the License. // call. // +k8s:deepcopy-gen=package -// +k8s:conversion-gen=k8s.io/kubernetes/pkg/apis/componentconfig -// +k8s:conversion-gen=k8s.io/apimachinery/pkg/apis/config/v1alpha1 -// +k8s:conversion-gen=k8s.io/apiserver/pkg/apis/config/v1alpha1 +// +k8s:conversion-gen=k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config // +k8s:conversion-gen=k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1 // +k8s:openapi-gen=true // +k8s:defaulter-gen=TypeMeta +// +groupName=cloudcontrollermanager.config.k8s.io -package v1alpha1 // import "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" +package v1alpha1 // import "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config/v1alpha1" diff --git a/pkg/apis/componentconfig/v1alpha1/register.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go similarity index 62% rename from pkg/apis/componentconfig/v1alpha1/register.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go index ced4880388d..e72a67a9247 100644 --- a/pkg/apis/componentconfig/v1alpha1/register.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/register.go @@ -1,5 +1,5 @@ /* -Copyright 2015 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. @@ -22,26 +22,32 @@ import ( ) // GroupName is the group name use in this package -const GroupName = "componentconfig" +const GroupName = "cloudcontrollermanager.config.k8s.io" // SchemeGroupVersion is group version used to register these objects var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( - SchemeBuilder runtime.SchemeBuilder + // SchemeBuilder is the scheme builder with scheme init functions to run for this API package + SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) + // localSchemeBuilder ïs a pointer to SchemeBuilder instance. Using localSchemeBuilder + // defaulting and conversion init funcs are registered as well. localSchemeBuilder = &SchemeBuilder - AddToScheme = localSchemeBuilder.AddToScheme + // AddToScheme is a global function that registers this API group & version to a schema + AddToScheme = localSchemeBuilder.AddToScheme ) func init() { // We only register manually written functions here. The registration of the // generated functions takes place in the generated files. The separation // makes the code compile even when the generated files are missing. - localSchemeBuilder.Register(addKnownTypes, addDefaultingFuncs) + localSchemeBuilder.Register(addDefaultingFuncs) } +// addKnownTypes registers known types to the given scheme func addKnownTypes(scheme *runtime.Scheme) error { - // TODO: All structs in this package are about to be moved out, - // so nothing should be registered here as this API group is going to be removed soon. + scheme.AddKnownTypes(SchemeGroupVersion, + &CloudControllerManagerConfiguration{}, + ) return nil } diff --git a/pkg/apis/componentconfig/v1alpha1/types.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go similarity index 97% rename from pkg/apis/componentconfig/v1alpha1/types.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go index 027f0143add..d4e8cad4a41 100644 --- a/pkg/apis/componentconfig/v1alpha1/types.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/types.go @@ -1,5 +1,5 @@ /* -Copyright 2015 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. diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go similarity index 55% rename from pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go index 5ab7df1d84a..d831b6f3e12 100644 --- a/pkg/apis/componentconfig/v1alpha1/zz_generated.conversion.go +++ b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.conversion.go @@ -23,7 +23,7 @@ package v1alpha1 import ( conversion "k8s.io/apimachinery/pkg/conversion" runtime "k8s.io/apimachinery/pkg/runtime" - componentconfig "k8s.io/kubernetes/pkg/apis/componentconfig" + config "k8s.io/kubernetes/cmd/cloud-controller-manager/app/apis/config" configv1alpha1 "k8s.io/kubernetes/pkg/controller/apis/config/v1alpha1" ) @@ -34,20 +34,20 @@ func init() { // RegisterConversions adds conversion functions to the given scheme. // Public to allow building arbitrary schemes. func RegisterConversions(s *runtime.Scheme) error { - if err := s.AddGeneratedConversionFunc((*CloudControllerManagerConfiguration)(nil), (*componentconfig.CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig_CloudControllerManagerConfiguration(a.(*CloudControllerManagerConfiguration), b.(*componentconfig.CloudControllerManagerConfiguration), scope) + if err := s.AddGeneratedConversionFunc((*CloudControllerManagerConfiguration)(nil), (*config.CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(a.(*CloudControllerManagerConfiguration), b.(*config.CloudControllerManagerConfiguration), scope) }); err != nil { return err } - if err := s.AddGeneratedConversionFunc((*componentconfig.CloudControllerManagerConfiguration)(nil), (*CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { - return Convert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(a.(*componentconfig.CloudControllerManagerConfiguration), b.(*CloudControllerManagerConfiguration), scope) + if err := s.AddGeneratedConversionFunc((*config.CloudControllerManagerConfiguration)(nil), (*CloudControllerManagerConfiguration)(nil), func(a, b interface{}, scope conversion.Scope) error { + return Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(a.(*config.CloudControllerManagerConfiguration), b.(*CloudControllerManagerConfiguration), scope) }); err != nil { return err } return nil } -func autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *componentconfig.CloudControllerManagerConfiguration, s conversion.Scope) error { +func autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *config.CloudControllerManagerConfiguration, s conversion.Scope) error { if err := configv1alpha1.Convert_v1alpha1_GenericControllerManagerConfiguration_To_config_GenericControllerManagerConfiguration(&in.Generic, &out.Generic, s); err != nil { return err } @@ -61,12 +61,12 @@ func autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig return nil } -// Convert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig_CloudControllerManagerConfiguration is an autogenerated conversion function. -func Convert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *componentconfig.CloudControllerManagerConfiguration, s conversion.Scope) error { - return autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_componentconfig_CloudControllerManagerConfiguration(in, out, s) +// Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration is an autogenerated conversion function. +func Convert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in *CloudControllerManagerConfiguration, out *config.CloudControllerManagerConfiguration, s conversion.Scope) error { + return autoConvert_v1alpha1_CloudControllerManagerConfiguration_To_config_CloudControllerManagerConfiguration(in, out, s) } -func autoConvert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *componentconfig.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error { +func autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *config.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error { if err := configv1alpha1.Convert_config_GenericControllerManagerConfiguration_To_v1alpha1_GenericControllerManagerConfiguration(&in.Generic, &out.Generic, s); err != nil { return err } @@ -80,7 +80,7 @@ func autoConvert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1 return nil } -// Convert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration is an autogenerated conversion function. -func Convert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *componentconfig.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error { - return autoConvert_componentconfig_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in, out, s) +// Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration is an autogenerated conversion function. +func Convert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in *config.CloudControllerManagerConfiguration, out *CloudControllerManagerConfiguration, s conversion.Scope) error { + return autoConvert_config_CloudControllerManagerConfiguration_To_v1alpha1_CloudControllerManagerConfiguration(in, out, s) } diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go similarity index 100% rename from pkg/apis/componentconfig/v1alpha1/zz_generated.deepcopy.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.deepcopy.go diff --git a/pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go b/cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.defaults.go similarity index 100% rename from pkg/apis/componentconfig/v1alpha1/zz_generated.defaults.go rename to cmd/cloud-controller-manager/app/apis/config/v1alpha1/zz_generated.defaults.go diff --git a/pkg/apis/componentconfig/zz_generated.deepcopy.go b/cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go similarity index 52% rename from pkg/apis/componentconfig/zz_generated.deepcopy.go rename to cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go index b046a4a1436..30621b276c8 100644 --- a/pkg/apis/componentconfig/zz_generated.deepcopy.go +++ b/cmd/cloud-controller-manager/app/apis/config/zz_generated.deepcopy.go @@ -18,7 +18,7 @@ limitations under the License. // Code generated by deepcopy-gen. DO NOT EDIT. -package componentconfig +package config import ( runtime "k8s.io/apimachinery/pkg/runtime" @@ -52,66 +52,3 @@ func (in *CloudControllerManagerConfiguration) DeepCopyObject() runtime.Object { } return nil } - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *IPPortVar) DeepCopyInto(out *IPPortVar) { - *out = *in - if in.Val != nil { - in, out := &in.Val, &out.Val - *out = new(string) - **out = **in - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPPortVar. -func (in *IPPortVar) DeepCopy() *IPPortVar { - if in == nil { - return nil - } - out := new(IPPortVar) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *IPVar) DeepCopyInto(out *IPVar) { - *out = *in - if in.Val != nil { - in, out := &in.Val, &out.Val - *out = new(string) - **out = **in - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPVar. -func (in *IPVar) DeepCopy() *IPVar { - if in == nil { - return nil - } - out := new(IPVar) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *PortRangeVar) DeepCopyInto(out *PortRangeVar) { - *out = *in - if in.Val != nil { - in, out := &in.Val, &out.Val - *out = new(string) - **out = **in - } - return -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PortRangeVar. -func (in *PortRangeVar) DeepCopy() *PortRangeVar { - if in == nil { - return nil - } - out := new(PortRangeVar) - in.DeepCopyInto(out) - return out -} diff --git a/pkg/BUILD b/pkg/BUILD index 3f9fa5c66b4..0138315de05 100644 --- a/pkg/BUILD +++ b/pkg/BUILD @@ -38,7 +38,6 @@ filegroup( "//pkg/apis/autoscaling:all-srcs", "//pkg/apis/batch:all-srcs", "//pkg/apis/certificates:all-srcs", - "//pkg/apis/componentconfig:all-srcs", "//pkg/apis/coordination:all-srcs", "//pkg/apis/core:all-srcs", "//pkg/apis/events:all-srcs", diff --git a/pkg/apis/componentconfig/OWNERS b/pkg/apis/componentconfig/OWNERS deleted file mode 100755 index c8204034c23..00000000000 --- a/pkg/apis/componentconfig/OWNERS +++ /dev/null @@ -1,18 +0,0 @@ -approvers: - - api-approvers - - mikedanese - - vishh - - mtaufen - - luxas - - sttts -reviewers: - - api-reviewers - - thockin - - lavalamp - - smarterclayton - - wojtek-t - - deads2k - - vishh - - mikedanese - - liggitt - - luxas diff --git a/pkg/apis/componentconfig/fuzzer/BUILD b/pkg/apis/componentconfig/fuzzer/BUILD deleted file mode 100644 index 42315ea8767..00000000000 --- a/pkg/apis/componentconfig/fuzzer/BUILD +++ /dev/null @@ -1,26 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -load( - "@io_bazel_rules_go//go:def.bzl", - "go_library", -) - -go_library( - name = "go_default_library", - srcs = ["fuzzer.go"], - importpath = "k8s.io/kubernetes/pkg/apis/componentconfig/fuzzer", - deps = ["//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library"], -) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/pkg/apis/componentconfig/fuzzer/fuzzer.go b/pkg/apis/componentconfig/fuzzer/fuzzer.go deleted file mode 100644 index ad324586350..00000000000 --- a/pkg/apis/componentconfig/fuzzer/fuzzer.go +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright 2017 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 fuzzer - -import ( - runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" -) - -// Funcs returns the fuzzer functions for the componentconfig api group. -// TODO: When the componentconfig types are split out to individual API groups -// we should re-enable the fuzzing and defaulting unit tests. Also add a -// TestTypeTags-kind of unit test like in `pkg/master` -var Funcs = func(codecs runtimeserializer.CodecFactory) []interface{} { - return []interface{}{} -} diff --git a/pkg/apis/componentconfig/install/BUILD b/pkg/apis/componentconfig/install/BUILD deleted file mode 100644 index 7e76248ad95..00000000000 --- a/pkg/apis/componentconfig/install/BUILD +++ /dev/null @@ -1,14 +0,0 @@ -package(default_visibility = ["//visibility:public"]) - -filegroup( - name = "package-srcs", - srcs = glob(["**"]), - tags = ["automanaged"], - visibility = ["//visibility:private"], -) - -filegroup( - name = "all-srcs", - srcs = [":package-srcs"], - tags = ["automanaged"], -) diff --git a/pkg/generated/openapi/BUILD b/pkg/generated/openapi/BUILD index 07b7df094c6..49832a97bfa 100644 --- a/pkg/generated/openapi/BUILD +++ b/pkg/generated/openapi/BUILD @@ -11,9 +11,9 @@ openapi_library( srcs = ["doc.go"], go_prefix = openapi_go_prefix, openapi_targets = [ + "cmd/cloud-controller-manager/app/apis/config/v1alpha1", "pkg/apis/abac/v0", "pkg/apis/abac/v1beta1", - "pkg/apis/componentconfig/v1alpha1", "pkg/version", ], tags = ["automanaged"], diff --git a/test/integration/apiserver/print_test.go b/test/integration/apiserver/print_test.go index 50e0b139d9b..be5c2c38920 100644 --- a/test/integration/apiserver/print_test.go +++ b/test/integration/apiserver/print_test.go @@ -113,10 +113,6 @@ var kindWhiteList = sets.NewString( "Eviction", // -- - // k8s.io/kubernetes/pkg/apis/componentconfig - "KubeSchedulerConfiguration", - // -- - // k8s.io/apimachinery/pkg/apis/meta "WatchEvent", "Status",