From 9e44a08cb19e5d667f333bfe45ec06341eb41e5f Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Wed, 19 Dec 2018 13:32:56 -0800 Subject: [PATCH 1/3] Moved memory-cached and disk-cached discovery to their own packages Kubernetes-commit: 6666049898f93932655fef24f807bc4d6e439fc6 --- .../{ => cached/disk}/cached_discovery.go | 19 ++++++++++--------- .../disk}/cached_discovery_test.go | 5 +++-- discovery/{ => cached/disk}/round_tripper.go | 2 +- .../{ => cached/disk}/round_tripper_test.go | 2 +- discovery/cached/{ => memory}/memcache.go | 2 +- .../cached/{ => memory}/memcache_test.go | 2 +- 6 files changed, 17 insertions(+), 15 deletions(-) rename discovery/{ => cached/disk}/cached_discovery.go (94%) rename discovery/{ => cached/disk}/cached_discovery_test.go (98%) rename discovery/{ => cached/disk}/round_tripper.go (98%) rename discovery/{ => cached/disk}/round_tripper_test.go (99%) rename discovery/cached/{ => memory}/memcache.go (99%) rename discovery/cached/{ => memory}/memcache_test.go (99%) diff --git a/discovery/cached_discovery.go b/discovery/cached/disk/cached_discovery.go similarity index 94% rename from discovery/cached_discovery.go rename to discovery/cached/disk/cached_discovery.go index d5cc7806..9ede5016 100644 --- a/discovery/cached_discovery.go +++ b/discovery/cached/disk/cached_discovery.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package discovery +package disk import ( "errors" @@ -31,6 +31,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/version" + "k8s.io/client-go/discovery" "k8s.io/client-go/kubernetes/scheme" restclient "k8s.io/client-go/rest" ) @@ -38,7 +39,7 @@ import ( // CachedDiscoveryClient implements the functions that discovery server-supported API groups, // versions and resources. type CachedDiscoveryClient struct { - delegate DiscoveryInterface + delegate discovery.DiscoveryInterface // cacheDirectory is the directory where discovery docs are held. It must be unique per host:port combination to work well. cacheDirectory string @@ -57,7 +58,7 @@ type CachedDiscoveryClient struct { fresh bool } -var _ CachedDiscoveryInterface = &CachedDiscoveryClient{} +var _ discovery.CachedDiscoveryInterface = &CachedDiscoveryClient{} // ServerResourcesForGroupVersion returns the supported resources for a group and version. func (d *CachedDiscoveryClient) ServerResourcesForGroupVersion(groupVersion string) (*metav1.APIResourceList, error) { @@ -92,13 +93,13 @@ func (d *CachedDiscoveryClient) ServerResourcesForGroupVersion(groupVersion stri // ServerResources returns the supported resources for all groups and versions. // Deprecated: use ServerGroupsAndResources instead. func (d *CachedDiscoveryClient) ServerResources() ([]*metav1.APIResourceList, error) { - _, rs, err := ServerGroupsAndResources(d) + _, rs, err := discovery.ServerGroupsAndResources(d) return rs, err } // ServerGroupsAndResources returns the supported groups and resources for all groups and versions. func (d *CachedDiscoveryClient) ServerGroupsAndResources() ([]*metav1.APIGroup, []*metav1.APIResourceList, error) { - return ServerGroupsAndResources(d) + return discovery.ServerGroupsAndResources(d) } // ServerGroups returns the supported groups, with information like supported versions and the @@ -220,13 +221,13 @@ func (d *CachedDiscoveryClient) RESTClient() restclient.Interface { // ServerPreferredResources returns the supported resources with the version preferred by the // server. func (d *CachedDiscoveryClient) ServerPreferredResources() ([]*metav1.APIResourceList, error) { - return ServerPreferredResources(d) + return discovery.ServerPreferredResources(d) } // ServerPreferredNamespacedResources returns the supported namespaced resources with the // version preferred by the server. func (d *CachedDiscoveryClient) ServerPreferredNamespacedResources() ([]*metav1.APIResourceList, error) { - return ServerPreferredNamespacedResources(d) + return discovery.ServerPreferredNamespacedResources(d) } // ServerVersion retrieves and parses the server's version (git version). @@ -279,7 +280,7 @@ func NewCachedDiscoveryClientForConfig(config *restclient.Config, discoveryCache }) } - discoveryClient, err := NewDiscoveryClientForConfig(config) + discoveryClient, err := discovery.NewDiscoveryClientForConfig(config) if err != nil { return nil, err } @@ -288,7 +289,7 @@ func NewCachedDiscoveryClientForConfig(config *restclient.Config, discoveryCache } // NewCachedDiscoveryClient creates a new DiscoveryClient. cacheDirectory is the directory where discovery docs are held. It must be unique per host:port combination to work well. -func newCachedDiscoveryClient(delegate DiscoveryInterface, cacheDirectory string, ttl time.Duration) *CachedDiscoveryClient { +func newCachedDiscoveryClient(delegate discovery.DiscoveryInterface, cacheDirectory string, ttl time.Duration) *CachedDiscoveryClient { return &CachedDiscoveryClient{ delegate: delegate, cacheDirectory: cacheDirectory, diff --git a/discovery/cached_discovery_test.go b/discovery/cached/disk/cached_discovery_test.go similarity index 98% rename from discovery/cached_discovery_test.go rename to discovery/cached/disk/cached_discovery_test.go index 7dd704cb..3ddd4a98 100644 --- a/discovery/cached_discovery_test.go +++ b/discovery/cached/disk/cached_discovery_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package discovery +package disk import ( "io/ioutil" @@ -29,6 +29,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/version" + "k8s.io/client-go/discovery" restclient "k8s.io/client-go/rest" "k8s.io/client-go/rest/fake" ) @@ -104,7 +105,7 @@ type fakeDiscoveryClient struct { serverResourcesHandler func() ([]*metav1.APIResourceList, error) } -var _ DiscoveryInterface = &fakeDiscoveryClient{} +var _ discovery.DiscoveryInterface = &fakeDiscoveryClient{} func (c *fakeDiscoveryClient) RESTClient() restclient.Interface { return &fake.RESTClient{} diff --git a/discovery/round_tripper.go b/discovery/cached/disk/round_tripper.go similarity index 98% rename from discovery/round_tripper.go rename to discovery/cached/disk/round_tripper.go index 4e2bc24e..7e2a537a 100644 --- a/discovery/round_tripper.go +++ b/discovery/cached/disk/round_tripper.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package discovery +package disk import ( "net/http" diff --git a/discovery/round_tripper_test.go b/discovery/cached/disk/round_tripper_test.go similarity index 99% rename from discovery/round_tripper_test.go rename to discovery/cached/disk/round_tripper_test.go index b15e2e77..329be42a 100644 --- a/discovery/round_tripper_test.go +++ b/discovery/cached/disk/round_tripper_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package discovery +package disk import ( "bytes" diff --git a/discovery/cached/memcache.go b/discovery/cached/memory/memcache.go similarity index 99% rename from discovery/cached/memcache.go rename to discovery/cached/memory/memcache.go index 92fdaaf9..31e42156 100644 --- a/discovery/cached/memcache.go +++ b/discovery/cached/memory/memcache.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package cached +package memory import ( "errors" diff --git a/discovery/cached/memcache_test.go b/discovery/cached/memory/memcache_test.go similarity index 99% rename from discovery/cached/memcache_test.go rename to discovery/cached/memory/memcache_test.go index 680c68d8..3a9d60da 100644 --- a/discovery/cached/memcache_test.go +++ b/discovery/cached/memory/memcache_test.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package cached +package memory import ( "errors" From dc58f1a41e3e460660cb2a54158bf32d25ba670b Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Wed, 19 Dec 2018 13:52:12 -0800 Subject: [PATCH 2/3] generated Kubernetes-commit: 1f2e2e61cf088cb0070fea4b88d9cefb7f8f2e3e From 65ff1483c9e477e025217e6c1efc79c347e5553d Mon Sep 17 00:00:00 2001 From: Chao Xu Date: Tue, 12 Feb 2019 19:16:01 -0800 Subject: [PATCH 3/3] Add glue for legacy interface for backward compatibility. Kubernetes-commit: 63820236263cfefb3e9c9e6bf259b5448b724408 --- discovery/cached/legacy.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 discovery/cached/legacy.go diff --git a/discovery/cached/legacy.go b/discovery/cached/legacy.go new file mode 100644 index 00000000..725900a9 --- /dev/null +++ b/discovery/cached/legacy.go @@ -0,0 +1,30 @@ +/* +Copyright 2019 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 memory + +import ( + "k8s.io/client-go/discovery" + "k8s.io/client-go/discovery/cached/memory" +) + +// NewMemCacheClient is DEPRECATED. Use memory.NewMemCacheClient directly. +func NewMemCacheClient(delegate discovery.DiscoveryInterface) discovery.CachedDiscoveryInterface { + return memory.NewMemCacheClient(delegate) +} + +// ErrCacheNotFound is DEPRECATED. Use memory.ErrCacheNotFound directly. +var ErrCacheNotFound = memory.ErrCacheNotFound