From b6d9815b95940002545b4aa7affb892d94637a49 Mon Sep 17 00:00:00 2001 From: Clayton Coleman Date: Sun, 16 Jul 2017 00:22:11 -0400 Subject: [PATCH] Remove use of (Label|Field)SelectorParam --- pkg/kubectl/resource/helper.go | 22 +++++++++++++------ .../k8s.io/client-go/tools/cache/listwatch.go | 4 ++-- .../metrics/pkg/client/custom_metrics/BUILD | 1 + .../pkg/client/custom_metrics/client.go | 9 ++++++-- test/integration/client/client_test.go | 8 ++++--- 5 files changed, 30 insertions(+), 14 deletions(-) diff --git a/pkg/kubectl/resource/helper.go b/pkg/kubectl/resource/helper.go index 2cbdd847471..e6452244b67 100644 --- a/pkg/kubectl/resource/helper.go +++ b/pkg/kubectl/resource/helper.go @@ -58,6 +58,7 @@ func (m *Helper) Get(namespace, name string, export bool) (runtime.Object, error Resource(m.Resource). Name(name) if export { + // TODO: I should be part of GetOptions req.Param("export", strconv.FormatBool(export)) } return req.Do().Get() @@ -68,8 +69,11 @@ func (m *Helper) List(namespace, apiVersion string, selector labels.Selector, ex req := m.RESTClient.Get(). NamespaceIfScoped(namespace, m.NamespaceScoped). Resource(m.Resource). - LabelsSelectorParam(selector) + VersionedParams(&metav1.ListOptions{ + LabelSelector: selector.String(), + }, metav1.ParameterCodec) if export { + // TODO: I should be part of ListOptions req.Param("export", strconv.FormatBool(export)) } return req.Do().Get() @@ -79,9 +83,11 @@ func (m *Helper) Watch(namespace, resourceVersion, apiVersion string, labelSelec return m.RESTClient.Get(). NamespaceIfScoped(namespace, m.NamespaceScoped). Resource(m.Resource). - Param("resourceVersion", resourceVersion). - Param("watch", "true"). - LabelsSelectorParam(labelSelector). + VersionedParams(&metav1.ListOptions{ + ResourceVersion: resourceVersion, + Watch: true, + LabelSelector: labelSelector.String(), + }, metav1.ParameterCodec). Watch() } @@ -89,9 +95,11 @@ func (m *Helper) WatchSingle(namespace, name, resourceVersion string) (watch.Int return m.RESTClient.Get(). NamespaceIfScoped(namespace, m.NamespaceScoped). Resource(m.Resource). - Param("resourceVersion", resourceVersion). - Param("watch", "true"). - FieldsSelectorParam(fields.OneTermEqualSelector("metadata.name", name)). + VersionedParams(&metav1.ListOptions{ + ResourceVersion: resourceVersion, + Watch: true, + FieldSelector: fields.OneTermEqualSelector("metadata.name", name).String(), + }, metav1.ParameterCodec). Watch() } diff --git a/staging/src/k8s.io/client-go/tools/cache/listwatch.go b/staging/src/k8s.io/client-go/tools/cache/listwatch.go index af01d474579..4c976533b01 100644 --- a/staging/src/k8s.io/client-go/tools/cache/listwatch.go +++ b/staging/src/k8s.io/client-go/tools/cache/listwatch.go @@ -58,21 +58,21 @@ type Getter interface { // NewListWatchFromClient creates a new ListWatch from the specified client, resource, namespace and field selector. func NewListWatchFromClient(c Getter, resource string, namespace string, fieldSelector fields.Selector) *ListWatch { listFunc := func(options metav1.ListOptions) (runtime.Object, error) { + options.FieldSelector = fieldSelector.String() return c.Get(). Namespace(namespace). Resource(resource). VersionedParams(&options, metav1.ParameterCodec). - FieldsSelectorParam(fieldSelector). Do(). Get() } watchFunc := func(options metav1.ListOptions) (watch.Interface, error) { options.Watch = true + options.FieldSelector = fieldSelector.String() return c.Get(). Namespace(namespace). Resource(resource). VersionedParams(&options, metav1.ParameterCodec). - FieldsSelectorParam(fieldSelector). Watch() } return &ListWatch{ListFunc: listFunc, WatchFunc: watchFunc} diff --git a/staging/src/k8s.io/metrics/pkg/client/custom_metrics/BUILD b/staging/src/k8s.io/metrics/pkg/client/custom_metrics/BUILD index 0ce38e03934..1e1c1ebe852 100644 --- a/staging/src/k8s.io/metrics/pkg/client/custom_metrics/BUILD +++ b/staging/src/k8s.io/metrics/pkg/client/custom_metrics/BUILD @@ -16,6 +16,7 @@ go_library( tags = ["automanaged"], deps = [ "//vendor/k8s.io/apimachinery/pkg/api/meta:go_default_library", + "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/schema:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library", diff --git a/staging/src/k8s.io/metrics/pkg/client/custom_metrics/client.go b/staging/src/k8s.io/metrics/pkg/client/custom_metrics/client.go index 12e280c3cea..807b1f81c65 100644 --- a/staging/src/k8s.io/metrics/pkg/client/custom_metrics/client.go +++ b/staging/src/k8s.io/metrics/pkg/client/custom_metrics/client.go @@ -20,6 +20,7 @@ import ( "fmt" "k8s.io/apimachinery/pkg/api/meta" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime/schema" serializer "k8s.io/apimachinery/pkg/runtime/serializer" @@ -180,7 +181,9 @@ func (m *rootScopedMetrics) GetForObjects(groupKind schema.GroupKind, selector l Resource(resourceName). Name(v1alpha1.AllObjects). SubResource(metricName). - LabelsSelectorParam(selector). + VersionedParams(&metav1.ListOptions{ + LabelSelector: selector.String(), + }, metav1.ParameterCodec). Do(). Into(res) @@ -234,7 +237,9 @@ func (m *namespacedMetrics) GetForObjects(groupKind schema.GroupKind, selector l Namespace(m.namespace). Name(v1alpha1.AllObjects). SubResource(metricName). - LabelsSelectorParam(selector). + VersionedParams(&metav1.ListOptions{ + LabelSelector: selector.String(), + }, metav1.ParameterCodec). Do(). Into(res) diff --git a/test/integration/client/client_test.go b/test/integration/client/client_test.go index 5769ab32fcc..8d498e166b0 100644 --- a/test/integration/client/client_test.go +++ b/test/integration/client/client_test.go @@ -523,9 +523,11 @@ func TestSingleWatch(t *testing.T) { w, err := client.Core().RESTClient().Get(). Namespace(ns.Name). Resource("events"). - Param("resourceVersion", rv1). - Param("watch", "true"). - FieldsSelectorParam(fields.OneTermEqualSelector("metadata.name", "event-9")). + VersionedParams(&metav1.ListOptions{ + ResourceVersion: rv1, + Watch: true, + FieldSelector: fields.OneTermEqualSelector("metadata.name", "event-9").String(), + }, metav1.ParameterCodec). Watch() if err != nil {