From 37e6266ef4b203a3241bf140f36ff8ae29d2e1f7 Mon Sep 17 00:00:00 2001 From: Lion-Wei Date: Sat, 25 Aug 2018 15:34:56 +0800 Subject: [PATCH] move external kube-proxy componentConfig to k8s.io/kube-proxy/config/ --- api/api-rules/violation_exceptions.list | 1 - cmd/kube-proxy/app/server.go | 2 +- cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go | 2 +- .../app/apis/kubeadm/v1alpha2/conversion.go | 2 +- .../app/apis/kubeadm/v1alpha2/defaults.go | 2 +- .../app/apis/kubeadm/v1alpha2/types.go | 2 +- .../kubeadm/v1alpha2/zz_generated.deepcopy.go | 2 +- .../kubeadm/v1alpha2/zz_generated.defaults.go | 2 +- .../app/apis/kubeadm/v1alpha3/conversion.go | 2 +- cmd/kubeadm/app/componentconfigs/defaults.go | 5 +- .../app/componentconfigs/registrations.go | 2 +- pkg/proxy/apis/config/v1alpha1/BUILD | 2 +- pkg/proxy/apis/config/v1alpha1/defaults.go | 3 +- pkg/proxy/apis/config/v1alpha1/doc.go | 5 +- pkg/proxy/apis/config/v1alpha1/register.go | 15 ++---- .../k8s.io/kube-proxy/config/v1alpha1/doc.go | 19 +++++++ .../kube-proxy/config/v1alpha1/register.go | 49 +++++++++++++++++++ .../kube-proxy}/config/v1alpha1/types.go | 0 18 files changed, 89 insertions(+), 28 deletions(-) create mode 100644 staging/src/k8s.io/kube-proxy/config/v1alpha1/doc.go create mode 100644 staging/src/k8s.io/kube-proxy/config/v1alpha1/register.go rename {pkg/proxy/apis => staging/src/k8s.io/kube-proxy}/config/v1alpha1/types.go (100%) diff --git a/api/api-rules/violation_exceptions.list b/api/api-rules/violation_exceptions.list index 5e5a7b7aef1..f9fed939451 100644 --- a/api/api-rules/violation_exceptions.list +++ b/api/api-rules/violation_exceptions.list @@ -170,6 +170,5 @@ API rule violation: names_match,k8s.io/kubernetes/pkg/apis/componentconfig/v1alp API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,ResolverConfig API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,IPTablesMasqueradeBit API rule violation: names_match,k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1,KubeletConfiguration,IPTablesDropBit -API rule violation: names_match,k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1,KubeProxyConfiguration,IPTables API rule violation: names_match,k8s.io/metrics/pkg/apis/custom_metrics/v1beta1,MetricValue,WindowSeconds API rule violation: names_match,k8s.io/metrics/pkg/apis/external_metrics/v1beta1,ExternalMetricValue,WindowSeconds diff --git a/cmd/kube-proxy/app/server.go b/cmd/kube-proxy/app/server.go index 2cb56bf9b25..2ecc8a2b146 100644 --- a/cmd/kube-proxy/app/server.go +++ b/cmd/kube-proxy/app/server.go @@ -49,6 +49,7 @@ import ( "k8s.io/client-go/tools/clientcmd" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" "k8s.io/client-go/tools/record" + "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/pkg/apis/componentconfig" api "k8s.io/kubernetes/pkg/apis/core" "k8s.io/kubernetes/pkg/kubelet/qos" @@ -56,7 +57,6 @@ import ( "k8s.io/kubernetes/pkg/proxy" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" "k8s.io/kubernetes/pkg/proxy/apis/config/scheme" - "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" "k8s.io/kubernetes/pkg/proxy/apis/config/validation" "k8s.io/kubernetes/pkg/proxy/config" "k8s.io/kubernetes/pkg/proxy/healthcheck" diff --git a/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go index 0e2affeeef9..4c2d16b26de 100644 --- a/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go +++ b/cmd/kubeadm/app/apis/kubeadm/fuzzer/fuzzer.go @@ -24,12 +24,12 @@ import ( "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" utilpointer "k8s.io/utils/pointer" ) diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/conversion.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/conversion.go index 1d51179c711..be8fee0c8c0 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/conversion.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/conversion.go @@ -20,12 +20,12 @@ import ( "unsafe" "k8s.io/apimachinery/pkg/conversion" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/componentconfigs" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) func Convert_v1alpha2_InitConfiguration_To_kubeadm_InitConfiguration(in *InitConfiguration, out *kubeadm.InitConfiguration, s conversion.Scope) error { diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/defaults.go index 3e6451c1cf2..9a3322f4d27 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/defaults.go @@ -22,11 +22,11 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/constants" kubeletscheme "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/scheme" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyscheme "k8s.io/kubernetes/pkg/proxy/apis/config/scheme" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" utilpointer "k8s.io/utils/pointer" ) diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/types.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/types.go index 7e19fb9ab0b..b89d0bf090d 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/types.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/types.go @@ -19,8 +19,8 @@ package v1alpha2 import ( "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.deepcopy.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.deepcopy.go index 69953cc4fe2..da5b52b32ae 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.deepcopy.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.deepcopy.go @@ -24,8 +24,8 @@ import ( corev1 "k8s.io/api/core/v1" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" runtime "k8s.io/apimachinery/pkg/runtime" + v1alpha1 "k8s.io/kube-proxy/config/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" - v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.defaults.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.defaults.go index 0cd3e695cf2..aa26ea0b50d 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.defaults.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha2/zz_generated.defaults.go @@ -22,8 +22,8 @@ package v1alpha2 import ( runtime "k8s.io/apimachinery/pkg/runtime" + v1alpha1 "k8s.io/kube-proxy/config/v1alpha1" v1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" - v1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) // RegisterDefaults adds defaulters functions to the given scheme. diff --git a/cmd/kubeadm/app/apis/kubeadm/v1alpha3/conversion.go b/cmd/kubeadm/app/apis/kubeadm/v1alpha3/conversion.go index 6784dea4946..a7965dbd4a2 100644 --- a/cmd/kubeadm/app/apis/kubeadm/v1alpha3/conversion.go +++ b/cmd/kubeadm/app/apis/kubeadm/v1alpha3/conversion.go @@ -18,6 +18,7 @@ package v1alpha3 import ( "k8s.io/apimachinery/pkg/conversion" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" @@ -25,7 +26,6 @@ import ( kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" kubeproxyconfigscheme "k8s.io/kubernetes/pkg/proxy/apis/config/scheme" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) func Convert_v1alpha3_ClusterConfiguration_To_kubeadm_ClusterConfiguration(in *ClusterConfiguration, out *kubeadm.ClusterConfiguration, s conversion.Scope) error { diff --git a/cmd/kubeadm/app/componentconfigs/defaults.go b/cmd/kubeadm/app/componentconfigs/defaults.go index a14e44aacdb..bf22b4e2177 100644 --- a/cmd/kubeadm/app/componentconfigs/defaults.go +++ b/cmd/kubeadm/app/componentconfigs/defaults.go @@ -17,13 +17,14 @@ limitations under the License. package componentconfigs import ( + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmapiv1alpha3 "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm/v1alpha3" "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" + "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" utilpointer "k8s.io/utils/pointer" ) @@ -50,7 +51,7 @@ func DefaultKubeProxyConfiguration(internalcfg *kubeadmapi.ClusterConfiguration) } // Run the rest of the kube-proxy defaulting code - kubeproxyconfigv1alpha1.SetDefaults_KubeProxyConfiguration(externalproxycfg) + v1alpha1.SetDefaults_KubeProxyConfiguration(externalproxycfg) if internalcfg.ComponentConfigs.KubeProxy == nil { internalcfg.ComponentConfigs.KubeProxy = &kubeproxyconfig.KubeProxyConfiguration{} diff --git a/cmd/kubeadm/app/componentconfigs/registrations.go b/cmd/kubeadm/app/componentconfigs/registrations.go index 0c278a29019..7a506f47262 100644 --- a/cmd/kubeadm/app/componentconfigs/registrations.go +++ b/cmd/kubeadm/app/componentconfigs/registrations.go @@ -20,12 +20,12 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/validation/field" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmutil "k8s.io/kubernetes/cmd/kubeadm/app/util" "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig" kubeletconfigv1beta1 "k8s.io/kubernetes/pkg/kubelet/apis/kubeletconfig/v1beta1" kubeproxyconfig "k8s.io/kubernetes/pkg/proxy/apis/config" - kubeproxyconfigv1alpha1 "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" ) // AddToSchemeFunc is a function that adds known types and API GroupVersions to a scheme diff --git a/pkg/proxy/apis/config/v1alpha1/BUILD b/pkg/proxy/apis/config/v1alpha1/BUILD index 0fa89d54d7c..5211ed753af 100644 --- a/pkg/proxy/apis/config/v1alpha1/BUILD +++ b/pkg/proxy/apis/config/v1alpha1/BUILD @@ -16,7 +16,7 @@ go_library( "zz_generated.deepcopy.go", "zz_generated.defaults.go", ], - importpath = "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1", + importpath = "k8s.io/kube-proxy/config/v1alpha1", deps = [ "//pkg/kubelet/qos:go_default_library", "//pkg/master/ports:go_default_library", diff --git a/pkg/proxy/apis/config/v1alpha1/defaults.go b/pkg/proxy/apis/config/v1alpha1/defaults.go index 5cc6e56a7b5..b6417744a23 100644 --- a/pkg/proxy/apis/config/v1alpha1/defaults.go +++ b/pkg/proxy/apis/config/v1alpha1/defaults.go @@ -23,6 +23,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kruntime "k8s.io/apimachinery/pkg/runtime" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" "k8s.io/kubernetes/pkg/kubelet/qos" "k8s.io/kubernetes/pkg/master/ports" "k8s.io/utils/pointer" @@ -32,7 +33,7 @@ func addDefaultingFuncs(scheme *kruntime.Scheme) error { return RegisterDefaults(scheme) } -func SetDefaults_KubeProxyConfiguration(obj *KubeProxyConfiguration) { +func SetDefaults_KubeProxyConfiguration(obj *kubeproxyconfigv1alpha1.KubeProxyConfiguration) { if len(obj.BindAddress) == 0 { obj.BindAddress = "0.0.0.0" } diff --git a/pkg/proxy/apis/config/v1alpha1/doc.go b/pkg/proxy/apis/config/v1alpha1/doc.go index 7bcd462404c..a1e7d2c4171 100644 --- a/pkg/proxy/apis/config/v1alpha1/doc.go +++ b/pkg/proxy/apis/config/v1alpha1/doc.go @@ -16,7 +16,8 @@ limitations under the License. // +k8s:deepcopy-gen=package // +k8s:conversion-gen=k8s.io/kubernetes/pkg/proxy/apis/config -// +k8s:openapi-gen=true +// +k8s:conversion-gen-external-types=k8s.io/kube-proxy/config/v1alpha1 // +k8s:defaulter-gen=TypeMeta - +// +k8s:defaulter-gen-input=../../../../../vendor/k8s.io/kube-proxy/config/v1alpha1 +// +groupName=kubeproxy.config.k8s.io package v1alpha1 // import "k8s.io/kubernetes/pkg/proxy/apis/config/v1alpha1" diff --git a/pkg/proxy/apis/config/v1alpha1/register.go b/pkg/proxy/apis/config/v1alpha1/register.go index 0c387fbc2e1..e21fa22982c 100644 --- a/pkg/proxy/apis/config/v1alpha1/register.go +++ b/pkg/proxy/apis/config/v1alpha1/register.go @@ -17,8 +17,8 @@ limitations under the License. package v1alpha1 import ( - "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + kubeproxyconfigv1alpha1 "k8s.io/kube-proxy/config/v1alpha1" ) // GroupName is the group name use in this package @@ -28,10 +28,8 @@ const GroupName = "kubeproxy.config.k8s.io" var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} var ( - // TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api. // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. - SchemeBuilder runtime.SchemeBuilder - localSchemeBuilder = &SchemeBuilder + localSchemeBuilder = &kubeproxyconfigv1alpha1.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme ) @@ -39,12 +37,5 @@ 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) -} - -func addKnownTypes(scheme *runtime.Scheme) error { - scheme.AddKnownTypes(SchemeGroupVersion, - &KubeProxyConfiguration{}, - ) - return nil + localSchemeBuilder.Register(addDefaultingFuncs) } diff --git a/staging/src/k8s.io/kube-proxy/config/v1alpha1/doc.go b/staging/src/k8s.io/kube-proxy/config/v1alpha1/doc.go new file mode 100644 index 00000000000..8c733a994cc --- /dev/null +++ b/staging/src/k8s.io/kube-proxy/config/v1alpha1/doc.go @@ -0,0 +1,19 @@ +/* +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. +*/ + +// +k8s:deepcopy-gen=package +// +groupName=kubeproxy.config.k8s.io +package v1alpha1 // import "k8s.io/kube-proxy/config/v1alpha1" diff --git a/staging/src/k8s.io/kube-proxy/config/v1alpha1/register.go b/staging/src/k8s.io/kube-proxy/config/v1alpha1/register.go new file mode 100644 index 00000000000..92d92c4c1cb --- /dev/null +++ b/staging/src/k8s.io/kube-proxy/config/v1alpha1/register.go @@ -0,0 +1,49 @@ +/* +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 v1alpha1 + +import ( + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// GroupName is the group name use in this package +const GroupName = "kubeproxy.config.k8s.io" + +// SchemeGroupVersion is group version used to register these objects +var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"} + +var ( + // localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes. + SchemeBuilder runtime.SchemeBuilder + localSchemeBuilder = &SchemeBuilder + 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) +} + +func addKnownTypes(scheme *runtime.Scheme) error { + scheme.AddKnownTypes(SchemeGroupVersion, + &KubeProxyConfiguration{}, + ) + return nil +} diff --git a/pkg/proxy/apis/config/v1alpha1/types.go b/staging/src/k8s.io/kube-proxy/config/v1alpha1/types.go similarity index 100% rename from pkg/proxy/apis/config/v1alpha1/types.go rename to staging/src/k8s.io/kube-proxy/config/v1alpha1/types.go