client-go metadata: update callers

This commit is contained in:
Jordan Liggitt 2020-03-06 10:47:20 -05:00
parent cb4ee9334b
commit 04a72d5ef9
5 changed files with 27 additions and 24 deletions

View File

@ -17,6 +17,7 @@ limitations under the License.
package garbagecollector package garbagecollector
import ( import (
"context"
"fmt" "fmt"
"reflect" "reflect"
"sync" "sync"
@ -347,7 +348,7 @@ func (gc *GarbageCollector) isDangling(reference metav1.OwnerReference, item *no
// TODO: It's only necessary to talk to the API server if the owner node // TODO: It's only necessary to talk to the API server if the owner node
// is a "virtual" node. The local graph could lag behind the real // is a "virtual" node. The local graph could lag behind the real
// status, but in practice, the difference is small. // status, but in practice, the difference is small.
owner, err = gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.identity.Namespace)).Get(reference.Name, metav1.GetOptions{}) owner, err = gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.identity.Namespace)).Get(context.TODO(), reference.Name, metav1.GetOptions{})
switch { switch {
case errors.IsNotFound(err): case errors.IsNotFound(err):
gc.absentOwnerCache.Add(reference.UID) gc.absentOwnerCache.Add(reference.UID)

View File

@ -17,6 +17,7 @@ limitations under the License.
package garbagecollector package garbagecollector
import ( import (
"context"
"encoding/json" "encoding/json"
"fmt" "fmt"
@ -56,7 +57,7 @@ func (gc *GarbageCollector) deleteObject(item objectReference, policy *metav1.De
uid := item.UID uid := item.UID
preconditions := metav1.Preconditions{UID: &uid} preconditions := metav1.Preconditions{UID: &uid}
deleteOptions := metav1.DeleteOptions{Preconditions: &preconditions, PropagationPolicy: policy} deleteOptions := metav1.DeleteOptions{Preconditions: &preconditions, PropagationPolicy: policy}
return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Delete(item.Name, &deleteOptions) return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Delete(context.TODO(), item.Name, deleteOptions)
} }
func (gc *GarbageCollector) getObject(item objectReference) (*metav1.PartialObjectMetadata, error) { func (gc *GarbageCollector) getObject(item objectReference) (*metav1.PartialObjectMetadata, error) {
@ -64,7 +65,7 @@ func (gc *GarbageCollector) getObject(item objectReference) (*metav1.PartialObje
if err != nil { if err != nil {
return nil, err return nil, err
} }
return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Get(item.Name, metav1.GetOptions{}) return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Get(context.TODO(), item.Name, metav1.GetOptions{})
} }
func (gc *GarbageCollector) patchObject(item objectReference, patch []byte, pt types.PatchType) (*metav1.PartialObjectMetadata, error) { func (gc *GarbageCollector) patchObject(item objectReference, patch []byte, pt types.PatchType) (*metav1.PartialObjectMetadata, error) {
@ -72,7 +73,7 @@ func (gc *GarbageCollector) patchObject(item objectReference, patch []byte, pt t
if err != nil { if err != nil {
return nil, err return nil, err
} }
return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Patch(item.Name, pt, patch, metav1.PatchOptions{}) return gc.metadataClient.Resource(resource).Namespace(resourceDefaultNamespace(namespaced, item.Namespace)).Patch(context.TODO(), item.Name, pt, patch, metav1.PatchOptions{})
} }
func (gc *GarbageCollector) removeFinalizer(owner *node, targetFinalizer string) error { func (gc *GarbageCollector) removeFinalizer(owner *node, targetFinalizer string) error {

View File

@ -17,6 +17,7 @@ limitations under the License.
package garbagecollector package garbagecollector
import ( import (
"context"
"encoding/json" "encoding/json"
"fmt" "fmt"
@ -67,7 +68,7 @@ func (gc *GarbageCollector) getMetadata(apiVersion, kind, namespace, name string
m, ok := gc.dependencyGraphBuilder.monitors[apiResource] m, ok := gc.dependencyGraphBuilder.monitors[apiResource]
if !ok || m == nil { if !ok || m == nil {
// If local cache doesn't exist for mapping.Resource, send a GET request to API server // If local cache doesn't exist for mapping.Resource, send a GET request to API server
return gc.metadataClient.Resource(apiResource).Namespace(namespace).Get(name, metav1.GetOptions{}) return gc.metadataClient.Resource(apiResource).Namespace(namespace).Get(context.TODO(), name, metav1.GetOptions{})
} }
key := name key := name
if len(namespace) != 0 { if len(namespace) != 0 {
@ -79,7 +80,7 @@ func (gc *GarbageCollector) getMetadata(apiVersion, kind, namespace, name string
} }
if !exist { if !exist {
// If local cache doesn't contain the object, send a GET request to API server // If local cache doesn't contain the object, send a GET request to API server
return gc.metadataClient.Resource(apiResource).Namespace(namespace).Get(name, metav1.GetOptions{}) return gc.metadataClient.Resource(apiResource).Namespace(namespace).Get(context.TODO(), name, metav1.GetOptions{})
} }
obj, ok := raw.(runtime.Object) obj, ok := raw.(runtime.Object)
if !ok { if !ok {

View File

@ -318,8 +318,8 @@ func (d *namespacedResourcesDeleter) deleteCollection(gvr schema.GroupVersionRes
// resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing // resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing
// namespace itself. // namespace itself.
background := metav1.DeletePropagationBackground background := metav1.DeletePropagationBackground
opts := &metav1.DeleteOptions{PropagationPolicy: &background} opts := metav1.DeleteOptions{PropagationPolicy: &background}
err := d.metadataClient.Resource(gvr).Namespace(namespace).DeleteCollection(opts, metav1.ListOptions{}) err := d.metadataClient.Resource(gvr).Namespace(namespace).DeleteCollection(context.TODO(), opts, metav1.ListOptions{})
if err == nil { if err == nil {
return true, nil return true, nil
@ -355,7 +355,7 @@ func (d *namespacedResourcesDeleter) listCollection(gvr schema.GroupVersionResou
return nil, false, nil return nil, false, nil
} }
partialList, err := d.metadataClient.Resource(gvr).Namespace(namespace).List(metav1.ListOptions{}) partialList, err := d.metadataClient.Resource(gvr).Namespace(namespace).List(context.TODO(), metav1.ListOptions{})
if err == nil { if err == nil {
return partialList, true, nil return partialList, true, nil
} }
@ -388,8 +388,8 @@ func (d *namespacedResourcesDeleter) deleteEachItem(gvr schema.GroupVersionResou
} }
for _, item := range unstructuredList.Items { for _, item := range unstructuredList.Items {
background := metav1.DeletePropagationBackground background := metav1.DeletePropagationBackground
opts := &metav1.DeleteOptions{PropagationPolicy: &background} opts := metav1.DeleteOptions{PropagationPolicy: &background}
if err = d.metadataClient.Resource(gvr).Namespace(namespace).Delete(item.GetName(), opts); err != nil && !errors.IsNotFound(err) && !errors.IsMethodNotSupported(err) { if err = d.metadataClient.Resource(gvr).Namespace(namespace).Delete(context.TODO(), item.GetName(), opts); err != nil && !errors.IsNotFound(err) && !errors.IsMethodNotSupported(err) {
return err return err
} }
} }

View File

@ -547,7 +547,7 @@ func TestMetadataClient(t *testing.T) {
}) })
client := metadata.NewForConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services")) client := metadata.NewForConfigOrDie(cfg).Resource(v1.SchemeGroupVersion.WithResource("services"))
items, err := client.Namespace(ns).List(metav1.ListOptions{}) items, err := client.Namespace(ns).List(context.TODO(), metav1.ListOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -566,7 +566,7 @@ func TestMetadataClient(t *testing.T) {
} }
wrapper.resp = nil wrapper.resp = nil
item, err := client.Namespace(ns).Get("test-1", metav1.GetOptions{}) item, err := client.Namespace(ns).Get(context.TODO(), "test-1", metav1.GetOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -577,7 +577,7 @@ func TestMetadataClient(t *testing.T) {
t.Fatalf("unexpected response: %#v", wrapper.resp) t.Fatalf("unexpected response: %#v", wrapper.resp)
} }
item, err = client.Namespace(ns).Patch("test-1", types.MergePatchType, []byte(`{"metadata":{"annotations":{"foo":"baz"}}}`), metav1.PatchOptions{}) item, err = client.Namespace(ns).Patch(context.TODO(), "test-1", types.MergePatchType, []byte(`{"metadata":{"annotations":{"foo":"baz"}}}`), metav1.PatchOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -585,11 +585,11 @@ func TestMetadataClient(t *testing.T) {
t.Fatalf("unexpected object: %#v", item) t.Fatalf("unexpected object: %#v", item)
} }
if err := client.Namespace(ns).Delete("test-1", &metav1.DeleteOptions{Preconditions: &metav1.Preconditions{UID: &item.UID}}); err != nil { if err := client.Namespace(ns).Delete(context.TODO(), "test-1", metav1.DeleteOptions{Preconditions: &metav1.Preconditions{UID: &item.UID}}); err != nil {
t.Fatal(err) t.Fatal(err)
} }
if _, err := client.Namespace(ns).Get("test-1", metav1.GetOptions{}); !apierrors.IsNotFound(err) { if _, err := client.Namespace(ns).Get(context.TODO(), "test-1", metav1.GetOptions{}); !apierrors.IsNotFound(err) {
t.Fatal(err) t.Fatal(err)
} }
}, },
@ -624,7 +624,7 @@ func TestMetadataClient(t *testing.T) {
}) })
client := metadata.NewForConfigOrDie(cfg).Resource(crdGVR) client := metadata.NewForConfigOrDie(cfg).Resource(crdGVR)
items, err := client.Namespace(ns).List(metav1.ListOptions{}) items, err := client.Namespace(ns).List(context.TODO(), metav1.ListOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -643,7 +643,7 @@ func TestMetadataClient(t *testing.T) {
} }
wrapper.resp = nil wrapper.resp = nil
item, err := client.Namespace(ns).Get("test-1", metav1.GetOptions{}) item, err := client.Namespace(ns).Get(context.TODO(), "test-1", metav1.GetOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -654,7 +654,7 @@ func TestMetadataClient(t *testing.T) {
t.Fatalf("unexpected response: %#v", wrapper.resp) t.Fatalf("unexpected response: %#v", wrapper.resp)
} }
item, err = client.Namespace(ns).Patch("test-1", types.MergePatchType, []byte(`{"metadata":{"annotations":{"foo":"baz"}}}`), metav1.PatchOptions{}) item, err = client.Namespace(ns).Patch(context.TODO(), "test-1", types.MergePatchType, []byte(`{"metadata":{"annotations":{"foo":"baz"}}}`), metav1.PatchOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -662,10 +662,10 @@ func TestMetadataClient(t *testing.T) {
t.Fatalf("unexpected object: %#v", item) t.Fatalf("unexpected object: %#v", item)
} }
if err := client.Namespace(ns).Delete("test-1", &metav1.DeleteOptions{Preconditions: &metav1.Preconditions{UID: &item.UID}}); err != nil { if err := client.Namespace(ns).Delete(context.TODO(), "test-1", metav1.DeleteOptions{Preconditions: &metav1.Preconditions{UID: &item.UID}}); err != nil {
t.Fatal(err) t.Fatal(err)
} }
if _, err := client.Namespace(ns).Get("test-1", metav1.GetOptions{}); !apierrors.IsNotFound(err) { if _, err := client.Namespace(ns).Get(context.TODO(), "test-1", metav1.GetOptions{}); !apierrors.IsNotFound(err) {
t.Fatal(err) t.Fatal(err)
} }
}, },
@ -690,7 +690,7 @@ func TestMetadataClient(t *testing.T) {
}) })
client := metadata.NewForConfigOrDie(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}) w, err := client.Namespace(ns).Watch(context.TODO(), metav1.ListOptions{ResourceVersion: svc.ResourceVersion, Watch: true})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -747,7 +747,7 @@ func TestMetadataClient(t *testing.T) {
cfg := metadata.ConfigFor(config) cfg := metadata.ConfigFor(config)
client := metadata.NewForConfigOrDie(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{}) patched, err := client.Namespace(ns).Patch(context.TODO(), "test-2", types.MergePatchType, []byte(`{"metadata":{"annotations":{"test":"1"}}}`), metav1.PatchOptions{})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }
@ -762,7 +762,7 @@ func TestMetadataClient(t *testing.T) {
}) })
client = metadata.NewForConfigOrDie(cfg).Resource(crdGVR) client = metadata.NewForConfigOrDie(cfg).Resource(crdGVR)
w, err := client.Namespace(ns).Watch(metav1.ListOptions{ResourceVersion: cr.GetResourceVersion(), Watch: true}) w, err := client.Namespace(ns).Watch(context.TODO(), metav1.ListOptions{ResourceVersion: cr.GetResourceVersion(), Watch: true})
if err != nil { if err != nil {
t.Fatal(err) t.Fatal(err)
} }