From 1d589600bcfc7b9f4d85168c1f7580cbc074d807 Mon Sep 17 00:00:00 2001 From: xiangpengzhao Date: Wed, 18 Oct 2017 16:20:53 +0800 Subject: [PATCH] Use global Scheme for API group. --- cmd/kube-proxy/app/server.go | 9 ++---- pkg/proxy/apis/proxyconfig/scheme/scheme.go | 31 ++++++++++++--------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/cmd/kube-proxy/app/server.go b/cmd/kube-proxy/app/server.go index 7b46b34f2e6..115e9680964 100644 --- a/cmd/kube-proxy/app/server.go +++ b/cmd/kube-proxy/app/server.go @@ -164,16 +164,11 @@ func AddFlags(options *Options, fs *pflag.FlagSet) { } func NewOptions() (*Options, error) { - scheme, codecs, err := scheme.NewSchemeAndCodecs() - if err != nil { - return nil, err - } - o := &Options{ config: new(proxyconfig.KubeProxyConfiguration), healthzPort: ports.ProxyHealthzPort, - scheme: scheme, - codecs: *codecs, + scheme: scheme.Scheme, + codecs: scheme.Codecs, } return o, nil diff --git a/pkg/proxy/apis/proxyconfig/scheme/scheme.go b/pkg/proxy/apis/proxyconfig/scheme/scheme.go index cdf3cfd7b83..cb45ff62532 100644 --- a/pkg/proxy/apis/proxyconfig/scheme/scheme.go +++ b/pkg/proxy/apis/proxyconfig/scheme/scheme.go @@ -17,24 +17,29 @@ limitations under the License. package scheme import ( + "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig" "k8s.io/kubernetes/pkg/proxy/apis/proxyconfig/v1alpha1" ) -// Utility functions for the Kube-proxy's "kubeproxy.k8s.io" API group +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) +) -// NewSchemeAndCodecs is a utility funciton that returns a Scheme and CodecFactory -// that understand the types in the "kubeproxy.k8s.io" API group. -func NewSchemeAndCodecs() (*runtime.Scheme, *serializer.CodecFactory, error) { - scheme := runtime.NewScheme() - if err := proxyconfig.AddToScheme(scheme); err != nil { - return nil, nil, err - } - if err := v1alpha1.AddToScheme(scheme); err != nil { - return nil, nil, err - } - codecs := serializer.NewCodecFactory(scheme) - return scheme, &codecs, nil +func init() { + v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"}) + AddToScheme(Scheme) +} + +// AddToScheme adds the types of this group into the given scheme. +func AddToScheme(scheme *runtime.Scheme) { + v1alpha1.AddToScheme(scheme) + proxyconfig.AddToScheme(scheme) }