From 87c9f89cb15b2a64271dbdd292e2ce4abe7ab84a Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Fri, 11 Aug 2017 16:46:19 +0200 Subject: [PATCH] apimachinery: remove misleading NewDefaultRESTMapper --- .../k8s.io/apimachinery/pkg/api/meta/BUILD | 2 - .../apimachinery/pkg/api/meta/default.go | 46 ------------------- .../apimachinery/announced/group_factory.go | 22 ++++++--- .../pkg/server/genericapiserver_test.go | 5 +- 4 files changed, 19 insertions(+), 56 deletions(-) delete mode 100644 staging/src/k8s.io/apimachinery/pkg/api/meta/default.go diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/BUILD b/staging/src/k8s.io/apimachinery/pkg/api/meta/BUILD index 78927152aa..45fbf98700 100644 --- a/staging/src/k8s.io/apimachinery/pkg/api/meta/BUILD +++ b/staging/src/k8s.io/apimachinery/pkg/api/meta/BUILD @@ -31,7 +31,6 @@ go_test( go_library( name = "go_default_library", srcs = [ - "default.go", "doc.go", "errors.go", "firsthit_restmapper.go", @@ -54,7 +53,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/types:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/errors:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/util/sets:go_default_library", ], ) diff --git a/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go b/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go deleted file mode 100644 index d5563da883..0000000000 --- a/staging/src/k8s.io/apimachinery/pkg/api/meta/default.go +++ /dev/null @@ -1,46 +0,0 @@ -/* -Copyright 2015 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 meta - -import ( - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/util/sets" -) - -// NewDefaultRESTMapperFromScheme instantiates a DefaultRESTMapper based on types registered in the given scheme. -func NewDefaultRESTMapperFromScheme(defaultGroupVersions []schema.GroupVersion, interfacesFunc VersionInterfacesFunc, - ignoredKinds, rootScoped sets.String, scheme *runtime.Scheme) *DefaultRESTMapper { - - mapper := NewDefaultRESTMapper(defaultGroupVersions, interfacesFunc) - // enumerate all supported versions, get the kinds, and register with the mapper how to address - // our resources. - for _, gv := range defaultGroupVersions { - for kind := range scheme.KnownTypes(gv) { - gvk := gv.WithKind(kind) - if ignoredKinds.Has(kind) { - continue - } - scope := RESTScopeNamespace - if rootScoped.Has(kind) { - scope = RESTScopeRoot - } - mapper.Add(gvk, scope) - } - } - return mapper -} diff --git a/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go b/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go index 5fd3e48bd5..154ed08f55 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go +++ b/staging/src/k8s.io/apimachinery/pkg/apimachinery/announced/group_factory.go @@ -172,13 +172,21 @@ func (gmf *GroupMetaFactory) newRESTMapper(scheme *runtime.Scheme, externalVersi ignoredKinds = gmf.GroupArgs.IgnoredKinds } - return meta.NewDefaultRESTMapperFromScheme( - externalVersions, - groupMeta.InterfacesFor, - ignoredKinds, - rootScoped, - scheme, - ) + mapper := meta.NewDefaultRESTMapper(externalVersions, groupMeta.InterfacesFor) + for _, gv := range externalVersions { + for kind := range scheme.KnownTypes(gv) { + if ignoredKinds.Has(kind) { + continue + } + scope := meta.RESTScopeNamespace + if rootScoped.Has(kind) { + scope = meta.RESTScopeRoot + } + mapper.Add(gv.WithKind(kind), scope) + } + } + + return mapper } // Enable enables group versions that are allowed, adds methods to the scheme, etc. diff --git a/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go b/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go index 42317485c1..4338531bde 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go +++ b/staging/src/k8s.io/apiserver/pkg/server/genericapiserver_test.go @@ -167,7 +167,10 @@ func TestInstallAPIGroups(t *testing.T) { }, nil } - mapper := meta.NewDefaultRESTMapperFromScheme([]schema.GroupVersion{gv}, interfacesFor, sets.NewString(), sets.NewString(), scheme) + mapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv}, interfacesFor) + for kind := range scheme.KnownTypes(gv) { + mapper.Add(gv.WithKind(kind), meta.RESTScopeNamespace) + } groupMeta := apimachinery.GroupMeta{ GroupVersion: gv, GroupVersions: []schema.GroupVersion{gv},