From 308fdcd13fbe1c6fd1d5dea4a997190e207ef3e0 Mon Sep 17 00:00:00 2001 From: Jordan Liggitt Date: Sun, 19 Feb 2017 15:10:05 -0500 Subject: [PATCH] Pass typed options to dynamic client --- pkg/controller/garbagecollector/garbagecollector.go | 4 ++-- .../deletion/namespaced_resources_deleter.go | 4 ++-- staging/src/k8s.io/client-go/dynamic/client.go | 12 ++++++------ staging/src/k8s.io/client-go/dynamic/client_test.go | 6 +++--- test/e2e/framework/util.go | 4 ++-- test/integration/client/dynamic_client_test.go | 2 +- 6 files changed, 16 insertions(+), 16 deletions(-) diff --git a/pkg/controller/garbagecollector/garbagecollector.go b/pkg/controller/garbagecollector/garbagecollector.go index a94d3e37ff8..3e61ce18e83 100644 --- a/pkg/controller/garbagecollector/garbagecollector.go +++ b/pkg/controller/garbagecollector/garbagecollector.go @@ -460,7 +460,7 @@ func gcListWatcher(client *dynamic.Client, resource schema.GroupVersionResource) apiResource := metav1.APIResource{Name: resource.Resource} return client.ParameterCodec(dynamic.VersionedParameterEncoderWithV1Fallback). Resource(&apiResource, metav1.NamespaceAll). - List(&options) + List(options) }, WatchFunc: func(options metav1.ListOptions) (watch.Interface, error) { // APIResource.Kind is not used by the dynamic client, so @@ -470,7 +470,7 @@ func gcListWatcher(client *dynamic.Client, resource schema.GroupVersionResource) apiResource := metav1.APIResource{Name: resource.Resource} return client.ParameterCodec(dynamic.VersionedParameterEncoderWithV1Fallback). Resource(&apiResource, metav1.NamespaceAll). - Watch(&options) + Watch(options) }, } } diff --git a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go index becfc2d6e7d..2efad6a51e2 100644 --- a/pkg/controller/namespace/deletion/namespaced_resources_deleter.go +++ b/pkg/controller/namespace/deletion/namespaced_resources_deleter.go @@ -341,7 +341,7 @@ func (d *namespacedResourcesDeleter) deleteCollection( // resource deletions generically. it will ensure all resources in the namespace are purged prior to releasing // namespace itself. orphanDependents := false - err := dynamicClient.Resource(&apiResource, namespace).DeleteCollection(&metav1.DeleteOptions{OrphanDependents: &orphanDependents}, &metav1.ListOptions{}) + err := dynamicClient.Resource(&apiResource, namespace).DeleteCollection(&metav1.DeleteOptions{OrphanDependents: &orphanDependents}, metav1.ListOptions{}) if err == nil { return true, nil @@ -379,7 +379,7 @@ func (d *namespacedResourcesDeleter) listCollection( } apiResource := metav1.APIResource{Name: gvr.Resource, Namespaced: true} - obj, err := dynamicClient.Resource(&apiResource, namespace).List(&metav1.ListOptions{}) + obj, err := dynamicClient.Resource(&apiResource, namespace).List(metav1.ListOptions{}) if err == nil { unstructuredList, ok := obj.(*unstructured.UnstructuredList) if !ok { diff --git a/staging/src/k8s.io/client-go/dynamic/client.go b/staging/src/k8s.io/client-go/dynamic/client.go index 1b4f3aa5e13..09b3b174c97 100644 --- a/staging/src/k8s.io/client-go/dynamic/client.go +++ b/staging/src/k8s.io/client-go/dynamic/client.go @@ -112,7 +112,7 @@ type ResourceClient struct { } // List returns a list of objects for this resource. -func (rc *ResourceClient) List(opts runtime.Object) (runtime.Object, error) { +func (rc *ResourceClient) List(opts metav1.ListOptions) (runtime.Object, error) { parameterEncoder := rc.parameterCodec if parameterEncoder == nil { parameterEncoder = defaultParameterEncoder @@ -120,7 +120,7 @@ func (rc *ResourceClient) List(opts runtime.Object) (runtime.Object, error) { return rc.cl.Get(). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). - VersionedParams(opts, parameterEncoder). + VersionedParams(&opts, parameterEncoder). Do(). Get() } @@ -149,7 +149,7 @@ func (rc *ResourceClient) Delete(name string, opts *metav1.DeleteOptions) error } // DeleteCollection deletes a collection of objects. -func (rc *ResourceClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, listOptions runtime.Object) error { +func (rc *ResourceClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, listOptions metav1.ListOptions) error { parameterEncoder := rc.parameterCodec if parameterEncoder == nil { parameterEncoder = defaultParameterEncoder @@ -157,7 +157,7 @@ func (rc *ResourceClient) DeleteCollection(deleteOptions *metav1.DeleteOptions, return rc.cl.Delete(). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). - VersionedParams(listOptions, parameterEncoder). + VersionedParams(&listOptions, parameterEncoder). Body(deleteOptions). Do(). Error() @@ -192,7 +192,7 @@ func (rc *ResourceClient) Update(obj *unstructured.Unstructured) (*unstructured. } // Watch returns a watch.Interface that watches the resource. -func (rc *ResourceClient) Watch(opts runtime.Object) (watch.Interface, error) { +func (rc *ResourceClient) Watch(opts metav1.ListOptions) (watch.Interface, error) { parameterEncoder := rc.parameterCodec if parameterEncoder == nil { parameterEncoder = defaultParameterEncoder @@ -201,7 +201,7 @@ func (rc *ResourceClient) Watch(opts runtime.Object) (watch.Interface, error) { Prefix("watch"). NamespaceIfScoped(rc.ns, rc.resource.Namespaced). Resource(rc.resource.Name). - VersionedParams(opts, parameterEncoder). + VersionedParams(&opts, parameterEncoder). Watch() } diff --git a/staging/src/k8s.io/client-go/dynamic/client_test.go b/staging/src/k8s.io/client-go/dynamic/client_test.go index 0426d7b1456..663866526b7 100644 --- a/staging/src/k8s.io/client-go/dynamic/client_test.go +++ b/staging/src/k8s.io/client-go/dynamic/client_test.go @@ -136,7 +136,7 @@ func TestList(t *testing.T) { } defer srv.Close() - got, err := cl.Resource(resource, tc.namespace).List(&metav1.ListOptions{}) + got, err := cl.Resource(resource, tc.namespace).List(metav1.ListOptions{}) if err != nil { t.Errorf("unexpected error when listing %q: %v", tc.name, err) continue @@ -293,7 +293,7 @@ func TestDeleteCollection(t *testing.T) { } defer srv.Close() - err = cl.Resource(resource, tc.namespace).DeleteCollection(nil, &metav1.ListOptions{}) + err = cl.Resource(resource, tc.namespace).DeleteCollection(nil, metav1.ListOptions{}) if err != nil { t.Errorf("unexpected error when deleting collection %q: %v", tc.name, err) continue @@ -469,7 +469,7 @@ func TestWatch(t *testing.T) { } defer srv.Close() - watcher, err := cl.Resource(resource, tc.namespace).Watch(&metav1.ListOptions{}) + watcher, err := cl.Resource(resource, tc.namespace).Watch(metav1.ListOptions{}) if err != nil { t.Errorf("unexpected error when watching %q: %v", tc.name, err) continue diff --git a/test/e2e/framework/util.go b/test/e2e/framework/util.go index a8fee4e0896..13fb6da8e35 100644 --- a/test/e2e/framework/util.go +++ b/test/e2e/framework/util.go @@ -363,7 +363,7 @@ func SkipIfMissingResource(clientPool dynamic.ClientPool, gvr schema.GroupVersio Failf("Unexpected error getting dynamic client for %v: %v", gvr.GroupVersion(), err) } apiResource := metav1.APIResource{Name: gvr.Resource, Namespaced: true} - _, err = dynamicClient.Resource(&apiResource, namespace).List(&metav1.ListOptions{}) + _, err = dynamicClient.Resource(&apiResource, namespace).List(metav1.ListOptions{}) if err != nil { // not all resources support list, so we ignore those if apierrs.IsMethodNotSupported(err) || apierrs.IsNotFound(err) || apierrs.IsForbidden(err) { @@ -1080,7 +1080,7 @@ func hasRemainingContent(c clientset.Interface, clientPool dynamic.ClientPool, n Logf("namespace: %s, resource: %s, ignored listing per whitelist", namespace, apiResource.Name) continue } - obj, err := dynamicClient.Resource(&apiResource, namespace).List(&metav1.ListOptions{}) + obj, err := dynamicClient.Resource(&apiResource, namespace).List(metav1.ListOptions{}) if err != nil { // not all resources support list, so we ignore those if apierrs.IsMethodNotSupported(err) || apierrs.IsNotFound(err) || apierrs.IsForbidden(err) { diff --git a/test/integration/client/dynamic_client_test.go b/test/integration/client/dynamic_client_test.go index fcd18c5d3fd..9ae98531793 100644 --- a/test/integration/client/dynamic_client_test.go +++ b/test/integration/client/dynamic_client_test.go @@ -93,7 +93,7 @@ func TestDynamicClient(t *testing.T) { } // check dynamic list - obj, err := dynamicClient.Resource(&resource, ns.Name).List(&metav1.ListOptions{}) + obj, err := dynamicClient.Resource(&resource, ns.Name).List(metav1.ListOptions{}) unstructuredList, ok := obj.(*unstructured.UnstructuredList) if !ok { t.Fatalf("expected *unstructured.UnstructuredList, got %#v", obj)