Merge pull request #63203 from deads2k/api-07-versioninterface

Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

remove versioning interface

Builds on prior restmapping/converter separation to completely remove the versioning interface which isn't needed.

intersection of @kubernetes/sig-api-machinery-pr-reviews and @kubernetes/sig-cli-maintainers  again

```release-note
NONE
```

Kubernetes-commit: 6b9cf21d9f23fa596db19f0f7981fbb7261fc2b6
This commit is contained in:
Kubernetes Publisher 2018-04-27 09:15:13 -07:00
commit 9e6dfd5187
6 changed files with 97 additions and 110 deletions

166
Godeps/Godeps.json generated
View File

@ -1,6 +1,6 @@
{
"ImportPath": "k8s.io/client-go",
"GoVersion": "go1.9",
"GoVersion": "go1.10",
"GodepVersion": "v80",
"Packages": [
"./..."
@ -252,331 +252,331 @@
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/admissionregistration/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/apps/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/apps/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/apps/v1beta2",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/authentication/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/authentication/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/authorization/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/authorization/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/autoscaling/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/autoscaling/v2beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/batch/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/batch/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/batch/v2alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/certificates/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/core/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/events/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/extensions/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/imagepolicy/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/networking/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/policy/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/rbac/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/rbac/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/rbac/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/scheduling/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/settings/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/storage/v1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/storage/v1alpha1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/api/storage/v1beta1",
"Rev": "e8df68e6b4a0eb60c21b9ba3a0b3e049bc041a31"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/equality",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/errors",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/meta",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/resource",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/fuzzer",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/api/testing/roundtrip",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/announced",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apimachinery/registered",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/fuzzer",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/fields",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/labels",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/schema",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/selection",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/types",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/cache",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/clock",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/diff",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/errors",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/framer",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/httpstream/spdy",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/intstr",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/json",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/net",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/remotecommand",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/runtime",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/sets",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/validation/field",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/wait",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/util/yaml",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/version",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/pkg/watch",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/netutil",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect",
"Rev": "83d7ef28e0fad5ab58a504754c1def10404d297d"
"Rev": "c416ded332245f3aa810919a74cc5b561142696c"
},
{
"ImportPath": "k8s.io/kube-openapi/pkg/util/proto",

View File

@ -39,7 +39,7 @@ type APIGroupResources struct {
// NewRESTMapper returns a PriorityRESTMapper based on the discovered
// groups and resources passed in.
func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.VersionInterfacesFunc) meta.RESTMapper {
func NewRESTMapper(groupResources []*APIGroupResources) meta.RESTMapper {
unionMapper := meta.MultiRESTMapper{}
var groupPriority []string
@ -90,7 +90,7 @@ func NewRESTMapper(groupResources []*APIGroupResources, versionInterfaces meta.V
}
gv := schema.GroupVersion{Group: group.Group.Name, Version: discoveryVersion.Version}
versionMapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv}, versionInterfaces)
versionMapper := meta.NewDefaultRESTMapper([]schema.GroupVersion{gv})
for _, resource := range resources {
scope := meta.RESTScopeNamespace
@ -175,19 +175,17 @@ func GetAPIGroupResources(cl DiscoveryInterface) ([]*APIGroupResources, error) {
// initialization of the RESTMapper until the first mapping is
// requested.
type DeferredDiscoveryRESTMapper struct {
initMu sync.Mutex
delegate meta.RESTMapper
cl CachedDiscoveryInterface
versionInterface meta.VersionInterfacesFunc
initMu sync.Mutex
delegate meta.RESTMapper
cl CachedDiscoveryInterface
}
// NewDeferredDiscoveryRESTMapper returns a
// DeferredDiscoveryRESTMapper that will lazily query the provided
// client for discovery information to do REST mappings.
func NewDeferredDiscoveryRESTMapper(cl CachedDiscoveryInterface, versionInterface meta.VersionInterfacesFunc) *DeferredDiscoveryRESTMapper {
func NewDeferredDiscoveryRESTMapper(cl CachedDiscoveryInterface) *DeferredDiscoveryRESTMapper {
return &DeferredDiscoveryRESTMapper{
cl: cl,
versionInterface: versionInterface,
cl: cl,
}
}
@ -204,7 +202,7 @@ func (d *DeferredDiscoveryRESTMapper) getDelegate() (meta.RESTMapper, error) {
return nil, err
}
d.delegate = NewRESTMapper(groupResources, d.versionInterface)
d.delegate = NewRESTMapper(groupResources)
return d.delegate, err
}

View File

@ -94,7 +94,7 @@ func TestRESTMapper(t *testing.T) {
},
}
restMapper := NewRESTMapper(resources, nil)
restMapper := NewRESTMapper(resources)
kindTCs := []struct {
input schema.GroupVersionResource
@ -243,7 +243,7 @@ func TestDeferredDiscoveryRESTMapper_CacheMiss(t *testing.T) {
assert := assert.New(t)
cdc := fakeCachedDiscoveryInterface{fresh: false}
m := NewDeferredDiscoveryRESTMapper(&cdc, nil)
m := NewDeferredDiscoveryRESTMapper(&cdc)
assert.False(cdc.fresh, "should NOT be fresh after instantiation")
assert.Zero(cdc.invalidateCalls, "should not have called Invalidate()")

View File

@ -27,8 +27,8 @@ import (
)
// NewDiscoveryRESTMapper returns a RESTMapper based on discovery information.
func NewDiscoveryRESTMapper(resources []*metav1.APIResourceList, versionFunc meta.VersionInterfacesFunc) (*meta.DefaultRESTMapper, error) {
rm := meta.NewDefaultRESTMapper(nil, versionFunc)
func NewDiscoveryRESTMapper(resources []*metav1.APIResourceList) (*meta.DefaultRESTMapper, error) {
rm := meta.NewDefaultRESTMapper(nil)
for _, resourceList := range resources {
gv, err := schema.ParseGroupVersion(resourceList.GroupVersion)
if err != nil {

View File

@ -19,9 +19,7 @@ package dynamic
import (
"testing"
"k8s.io/apimachinery/pkg/api/meta"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/apis/meta/v1/unstructured"
"k8s.io/apimachinery/pkg/runtime/schema"
)
@ -45,7 +43,7 @@ func TestDiscoveryRESTMapper(t *testing.T) {
Kind: "test_kind",
}
mapper, err := NewDiscoveryRESTMapper(resources, versionInterfaces)
mapper, err := NewDiscoveryRESTMapper(resources)
if err != nil {
t.Fatalf("unexpected error creating mapper: %s", err)
}
@ -79,11 +77,3 @@ func TestDiscoveryRESTMapper(t *testing.T) {
}
}
}
// VersionInterfaces provides an object converter and metadata
// accessor appropriate for use with unstructured objects.
func versionInterfaces(schema.GroupVersion) (*meta.VersionInterfaces, error) {
return &meta.VersionInterfaces{
ObjectConvertor: &unstructured.UnstructuredObjectConverter{},
}, nil
}

View File

@ -40,7 +40,6 @@ import (
autoscalingv1 "k8s.io/api/autoscaling/v1"
corev1 "k8s.io/api/core/v1"
extv1beta1 "k8s.io/api/extensions/v1beta1"
apimeta "k8s.io/apimachinery/pkg/api/meta"
coretesting "k8s.io/client-go/testing"
)
@ -101,7 +100,7 @@ func fakeScaleClient(t *testing.T) (ScalesGetter, []schema.GroupResource) {
if err != nil {
t.Fatalf("unexpected error while constructing resource list from fake discovery client: %v", err)
}
restMapper := discovery.NewRESTMapper(restMapperRes, apimeta.InterfacesForUnstructured)
restMapper := discovery.NewRESTMapper(restMapperRes)
autoscalingScale := &autoscalingv1.Scale{
TypeMeta: metav1.TypeMeta{