Merge pull request #78742 from smarterclayton/client_gc
The garbage collector and quota counter should use the metadata client and protobuf to access resources
This commit is contained in:
@@ -545,7 +545,7 @@ func TestMetadataClient(t *testing.T) {
|
||||
return wrapper
|
||||
})
|
||||
|
||||
client := metadata.NewConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services"))
|
||||
client := metadata.NewForConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services"))
|
||||
items, err := client.Namespace(ns).List(metav1.ListOptions{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -622,7 +622,7 @@ func TestMetadataClient(t *testing.T) {
|
||||
return wrapper
|
||||
})
|
||||
|
||||
client := metadata.NewConfigOrDie(cfg).Resource(crdGVR)
|
||||
client := metadata.NewForConfigOrDie(cfg).Resource(crdGVR)
|
||||
items, err := client.Namespace(ns).List(metav1.ListOptions{})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -688,7 +688,7 @@ func TestMetadataClient(t *testing.T) {
|
||||
return wrapper
|
||||
})
|
||||
|
||||
client := metadata.NewConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services"))
|
||||
client := metadata.NewForConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services"))
|
||||
w, err := client.Namespace(ns).Watch(metav1.ListOptions{ResourceVersion: svc.ResourceVersion, Watch: true})
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -744,7 +744,7 @@ func TestMetadataClient(t *testing.T) {
|
||||
}
|
||||
|
||||
cfg := metadata.ConfigFor(config)
|
||||
client := metadata.NewConfigOrDie(cfg).Resource(crdGVR)
|
||||
client := metadata.NewForConfigOrDie(cfg).Resource(crdGVR)
|
||||
|
||||
patched, err := client.Namespace(ns).Patch("test-2", types.MergePatchType, []byte(`{"metadata":{"annotations":{"test":"1"}}}`), metav1.PatchOptions{})
|
||||
if err != nil {
|
||||
@@ -759,7 +759,7 @@ func TestMetadataClient(t *testing.T) {
|
||||
wrapper.nested = rt
|
||||
return wrapper
|
||||
})
|
||||
client = metadata.NewConfigOrDie(cfg).Resource(crdGVR)
|
||||
client = metadata.NewForConfigOrDie(cfg).Resource(crdGVR)
|
||||
|
||||
w, err := client.Namespace(ns).Watch(metav1.ListOptions{ResourceVersion: cr.GetResourceVersion(), Watch: true})
|
||||
if err != nil {
|
||||
|
||||
@@ -29,9 +29,10 @@ go_test(
|
||||
"//staging/src/k8s.io/apiserver/pkg/storage/names:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/discovery/cached/memory:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/dynamic:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/dynamic/dynamicinformer:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/informers:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/kubernetes:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/metadata:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/metadata/metadatainformer:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/restmapper:go_default_library",
|
||||
"//staging/src/k8s.io/client-go/tools/cache:go_default_library",
|
||||
"//test/integration:go_default_library",
|
||||
|
||||
@@ -24,7 +24,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"k8s.io/api/core/v1"
|
||||
v1 "k8s.io/api/core/v1"
|
||||
apiextensionsv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1"
|
||||
apiextensionsclientset "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset"
|
||||
apiextensionstestserver "k8s.io/apiextensions-apiserver/test/integration/fixtures"
|
||||
@@ -38,9 +38,10 @@ import (
|
||||
"k8s.io/apiserver/pkg/storage/names"
|
||||
cacheddiscovery "k8s.io/client-go/discovery/cached/memory"
|
||||
"k8s.io/client-go/dynamic"
|
||||
"k8s.io/client-go/dynamic/dynamicinformer"
|
||||
"k8s.io/client-go/informers"
|
||||
clientset "k8s.io/client-go/kubernetes"
|
||||
"k8s.io/client-go/metadata"
|
||||
"k8s.io/client-go/metadata/metadatainformer"
|
||||
"k8s.io/client-go/restmapper"
|
||||
"k8s.io/client-go/tools/cache"
|
||||
kubeapiservertesting "k8s.io/kubernetes/cmd/kube-apiserver/app/testing"
|
||||
@@ -201,6 +202,7 @@ type testContext struct {
|
||||
clientSet clientset.Interface
|
||||
apiExtensionClient apiextensionsclientset.Interface
|
||||
dynamicClient dynamic.Interface
|
||||
metadataClient metadata.Interface
|
||||
startGC func(workers int)
|
||||
// syncPeriod is how often the GC started with startGC will be resynced.
|
||||
syncPeriod time.Duration
|
||||
@@ -231,20 +233,24 @@ func setupWithServer(t *testing.T, result *kubeapiservertesting.TestServer, work
|
||||
restMapper.Reset()
|
||||
deletableResources := garbagecollector.GetDeletableResources(discoveryClient)
|
||||
config := *result.ClientConfig
|
||||
metadataClient, err := metadata.NewForConfig(&config)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to create metadataClient: %v", err)
|
||||
}
|
||||
dynamicClient, err := dynamic.NewForConfig(&config)
|
||||
if err != nil {
|
||||
t.Fatalf("failed to create dynamicClient: %v", err)
|
||||
}
|
||||
sharedInformers := informers.NewSharedInformerFactory(clientSet, 0)
|
||||
dynamicInformers := dynamicinformer.NewDynamicSharedInformerFactory(dynamicClient, 0)
|
||||
metadataInformers := metadatainformer.NewSharedInformerFactory(metadataClient, 0)
|
||||
alwaysStarted := make(chan struct{})
|
||||
close(alwaysStarted)
|
||||
gc, err := garbagecollector.NewGarbageCollector(
|
||||
dynamicClient,
|
||||
metadataClient,
|
||||
restMapper,
|
||||
deletableResources,
|
||||
garbagecollector.DefaultIgnoredResources(),
|
||||
controller.NewInformerFactory(sharedInformers, dynamicInformers),
|
||||
controller.NewInformerFactory(sharedInformers, metadataInformers),
|
||||
alwaysStarted,
|
||||
)
|
||||
if err != nil {
|
||||
@@ -278,6 +284,7 @@ func setupWithServer(t *testing.T, result *kubeapiservertesting.TestServer, work
|
||||
clientSet: clientSet,
|
||||
apiExtensionClient: apiExtensionClient,
|
||||
dynamicClient: dynamicClient,
|
||||
metadataClient: metadataClient,
|
||||
startGC: startGC,
|
||||
syncPeriod: syncPeriod,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user