From ec397c4374f3e5d99f6ca8ee79892e1f0d9d8d38 Mon Sep 17 00:00:00 2001 From: deads2k Date: Thu, 3 Aug 2017 08:39:43 -0400 Subject: [PATCH] convert default predicates to use the default --- hack/.golint_failures | 10 ---- .../externaladmissionhookconfiguration/BUILD | 4 -- .../storage/storage.go | 3 +- .../strategy.go | 30 ----------- .../initializerconfiguration/BUILD | 4 -- .../storage/storage.go | 3 +- .../initializerconfiguration/strategy.go | 30 ----------- pkg/registry/apps/controllerrevision/BUILD | 6 --- .../controllerrevision/storage/storage.go | 3 +- .../apps/controllerrevision/strategy.go | 29 ----------- .../apps/controllerrevision/strategy_test.go | 51 ------------------- pkg/registry/apps/statefulset/BUILD | 4 -- .../apps/statefulset/storage/storage.go | 3 +- pkg/registry/apps/statefulset/strategy.go | 30 ----------- .../autoscaling/horizontalpodautoscaler/BUILD | 17 ------- .../storage/storage.go | 3 +- .../horizontalpodautoscaler/strategy.go | 26 ---------- .../horizontalpodautoscaler/strategy_test.go | 35 ------------- pkg/registry/certificates/certificates/BUILD | 4 -- .../certificates/storage/storage.go | 3 +- .../certificates/certificates/strategy.go | 27 ---------- pkg/registry/core/configmap/BUILD | 5 -- .../core/configmap/storage/storage.go | 3 +- pkg/registry/core/configmap/strategy.go | 29 ----------- pkg/registry/core/configmap/strategy_test.go | 10 ---- pkg/registry/core/endpoint/BUILD | 16 ------ pkg/registry/core/endpoint/storage/storage.go | 3 +- pkg/registry/core/endpoint/strategy.go | 30 ----------- pkg/registry/core/endpoint/strategy_test.go | 33 ------------ pkg/registry/core/limitrange/BUILD | 15 ------ .../core/limitrange/storage/storage.go | 3 +- pkg/registry/core/limitrange/strategy.go | 26 ---------- pkg/registry/core/limitrange/strategy_test.go | 33 ------------ pkg/registry/core/podtemplate/BUILD | 15 ------ .../core/podtemplate/storage/storage.go | 3 +- pkg/registry/core/podtemplate/strategy.go | 26 ---------- .../core/podtemplate/strategy_test.go | 33 ------------ pkg/registry/core/resourcequota/BUILD | 5 -- .../core/resourcequota/storage/storage.go | 3 +- pkg/registry/core/resourcequota/strategy.go | 29 ----------- .../core/resourcequota/strategy_test.go | 10 ---- pkg/registry/core/service/BUILD | 5 -- pkg/registry/core/service/storage/storage.go | 3 +- pkg/registry/core/service/strategy.go | 25 --------- pkg/registry/core/service/strategy_test.go | 10 ---- pkg/registry/core/serviceaccount/BUILD | 16 ------ .../core/serviceaccount/storage/storage.go | 3 +- pkg/registry/core/serviceaccount/strategy.go | 29 ----------- .../core/serviceaccount/strategy_test.go | 33 ------------ pkg/registry/extensions/daemonset/BUILD | 7 --- .../extensions/daemonset/storage/storage.go | 3 +- pkg/registry/extensions/daemonset/strategy.go | 31 ----------- .../extensions/daemonset/strategy_test.go | 12 ----- pkg/registry/extensions/deployment/BUILD | 6 --- .../extensions/deployment/storage/storage.go | 3 +- .../extensions/deployment/strategy.go | 31 ----------- .../extensions/deployment/strategy_test.go | 11 ---- pkg/registry/extensions/ingress/BUILD | 6 --- .../extensions/ingress/storage/storage.go | 3 +- pkg/registry/extensions/ingress/strategy.go | 31 ----------- .../extensions/ingress/strategy_test.go | 11 ---- pkg/registry/extensions/networkpolicy/BUILD | 4 -- .../networkpolicy/storage/storage.go | 3 +- .../extensions/networkpolicy/strategy.go | 30 ----------- .../extensions/podsecuritypolicy/BUILD | 4 -- .../podsecuritypolicy/storage/storage.go | 3 +- .../extensions/podsecuritypolicy/strategy.go | 29 ----------- pkg/registry/networking/networkpolicy/BUILD | 4 -- .../networkpolicy/storage/storage.go | 3 +- .../networking/networkpolicy/strategy.go | 29 ----------- pkg/registry/policy/poddisruptionbudget/BUILD | 4 -- .../poddisruptionbudget/storage/storage.go | 3 +- .../policy/poddisruptionbudget/strategy.go | 30 ----------- pkg/registry/rbac/clusterrole/BUILD | 3 -- .../rbac/clusterrole/storage/storage.go | 3 +- pkg/registry/rbac/clusterrole/strategy.go | 28 ---------- pkg/registry/rbac/clusterrolebinding/BUILD | 3 -- .../clusterrolebinding/storage/storage.go | 3 +- .../rbac/clusterrolebinding/strategy.go | 28 ---------- pkg/registry/rbac/role/BUILD | 3 -- pkg/registry/rbac/role/storage/storage.go | 3 +- pkg/registry/rbac/role/strategy.go | 28 ---------- pkg/registry/rbac/rolebinding/BUILD | 3 -- .../rbac/rolebinding/storage/storage.go | 3 +- pkg/registry/rbac/rolebinding/strategy.go | 28 ---------- pkg/registry/scheduling/priorityclass/BUILD | 4 -- .../priorityclass/storage/storage.go | 3 +- .../scheduling/priorityclass/strategy.go | 30 ----------- pkg/registry/settings/podpreset/BUILD | 4 -- .../settings/podpreset/storage/storage.go | 3 +- pkg/registry/settings/podpreset/strategy.go | 30 ----------- pkg/registry/storage/storageclass/BUILD | 4 -- .../storage/storageclass/storage/storage.go | 3 +- pkg/registry/storage/storageclass/strategy.go | 29 ----------- 94 files changed, 27 insertions(+), 1299 deletions(-) delete mode 100644 pkg/registry/autoscaling/horizontalpodautoscaler/strategy_test.go delete mode 100644 pkg/registry/core/endpoint/strategy_test.go delete mode 100644 pkg/registry/core/limitrange/strategy_test.go delete mode 100644 pkg/registry/core/podtemplate/strategy_test.go delete mode 100644 pkg/registry/core/serviceaccount/strategy_test.go diff --git a/hack/.golint_failures b/hack/.golint_failures index 6f06c2e926d..f978757401c 100644 --- a/hack/.golint_failures +++ b/hack/.golint_failures @@ -309,12 +309,9 @@ pkg/proxy/util pkg/proxy/winuserspace pkg/quota/evaluator/core pkg/quota/generic -pkg/registry/admissionregistration/externaladmissionhookconfiguration pkg/registry/admissionregistration/externaladmissionhookconfiguration/storage -pkg/registry/admissionregistration/initializerconfiguration pkg/registry/admissionregistration/initializerconfiguration/storage pkg/registry/admissionregistration/rest -pkg/registry/apps/controllerrevision pkg/registry/apps/rest pkg/registry/apps/statefulset pkg/registry/apps/statefulset/storage @@ -337,11 +334,9 @@ pkg/registry/certificates/certificates pkg/registry/certificates/certificates/storage pkg/registry/certificates/rest pkg/registry/core/componentstatus -pkg/registry/core/configmap pkg/registry/core/endpoint/storage pkg/registry/core/event pkg/registry/core/event/storage -pkg/registry/core/limitrange pkg/registry/core/limitrange/storage pkg/registry/core/namespace pkg/registry/core/namespace/storage @@ -353,7 +348,6 @@ pkg/registry/core/persistentvolumeclaim pkg/registry/core/persistentvolumeclaim/storage pkg/registry/core/pod pkg/registry/core/pod/rest -pkg/registry/core/podtemplate pkg/registry/core/podtemplate/storage pkg/registry/core/replicationcontroller pkg/registry/core/replicationcontroller/storage @@ -377,13 +371,10 @@ pkg/registry/extensions/deployment pkg/registry/extensions/deployment/storage pkg/registry/extensions/ingress pkg/registry/extensions/ingress/storage -pkg/registry/extensions/networkpolicy pkg/registry/extensions/networkpolicy/storage -pkg/registry/extensions/podsecuritypolicy pkg/registry/extensions/replicaset pkg/registry/extensions/replicaset/storage pkg/registry/extensions/rest -pkg/registry/networking/networkpolicy pkg/registry/networking/networkpolicy/storage pkg/registry/networking/rest pkg/registry/policy/poddisruptionbudget @@ -404,7 +395,6 @@ pkg/registry/rbac/validation pkg/registry/registrytest pkg/registry/scheduling/priorityclass/storage pkg/registry/scheduling/rest -pkg/registry/settings/podpreset pkg/registry/settings/podpreset/storage pkg/registry/settings/rest pkg/registry/storage/rest diff --git a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/BUILD b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/BUILD index a699ba6685f..e391b43c2d2 100644 --- a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/BUILD +++ b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/BUILD @@ -18,13 +18,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/admissionregistration:go_default_library", "//pkg/apis/admissionregistration/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/storage/storage.go b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/storage/storage.go index 8e7d570bcb0..86f5c7edd7e 100644 --- a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/storage/storage.go +++ b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*admissionregistration.ExternalAdmissionHookConfiguration).Name, nil }, - PredicateFunc: externaladmissionhookconfiguration.MatchExternalAdmissionHookConfiguration, DefaultQualifiedResource: admissionregistration.Resource("externaladmissionhookconfigurations"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("externaladmissionhookconfigurations"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: externaladmissionhookconfiguration.Strategy, DeleteStrategy: externaladmissionhookconfiguration.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: externaladmissionhookconfiguration.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/strategy.go b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/strategy.go index 8876a40b42a..d6d26379542 100644 --- a/pkg/registry/admissionregistration/externaladmissionhookconfiguration/strategy.go +++ b/pkg/registry/admissionregistration/externaladmissionhookconfiguration/strategy.go @@ -17,16 +17,11 @@ limitations under the License. package externaladmissionhookconfiguration import ( - "fmt" "reflect" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/admissionregistration" @@ -93,28 +88,3 @@ func (externaladmissionhookConfigurationStrategy) ValidateUpdate(ctx genericapir func (externaladmissionhookConfigurationStrategy) AllowUnconditionalUpdate() bool { return false } - -// MatchReplicaSet is the filter used by the generic etcd backend to route -// watch events from etcd to clients of the apiserver only interested in specific -// labels/fields. -func MatchExternalAdmissionHookConfiguration(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - ic, ok := obj.(*admissionregistration.ExternalAdmissionHookConfiguration) - if !ok { - return nil, nil, false, fmt.Errorf("Given object is not a ExternalAdmissionHookConfiguration.") - } - return labels.Set(ic.ObjectMeta.Labels), ExternalAdmissionHookConfigurationToSelectableFields(ic), ic.Initializers != nil, nil -} - -// ExternalAdmissionHookConfigurationToSelectableFields returns a field set that represents the object. -func ExternalAdmissionHookConfigurationToSelectableFields(ic *admissionregistration.ExternalAdmissionHookConfiguration) fields.Set { - return generic.ObjectMetaFieldsSet(&ic.ObjectMeta, false) -} diff --git a/pkg/registry/admissionregistration/initializerconfiguration/BUILD b/pkg/registry/admissionregistration/initializerconfiguration/BUILD index 0d42bfc42e6..f8320d35ac7 100644 --- a/pkg/registry/admissionregistration/initializerconfiguration/BUILD +++ b/pkg/registry/admissionregistration/initializerconfiguration/BUILD @@ -18,13 +18,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/admissionregistration:go_default_library", "//pkg/apis/admissionregistration/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/admissionregistration/initializerconfiguration/storage/storage.go b/pkg/registry/admissionregistration/initializerconfiguration/storage/storage.go index becea1ae56b..590759a9165 100644 --- a/pkg/registry/admissionregistration/initializerconfiguration/storage/storage.go +++ b/pkg/registry/admissionregistration/initializerconfiguration/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*admissionregistration.InitializerConfiguration).Name, nil }, - PredicateFunc: initializerconfiguration.MatchInitializerConfiguration, DefaultQualifiedResource: admissionregistration.Resource("initializerconfigurations"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("initializerconfigurations"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: initializerconfiguration.Strategy, DeleteStrategy: initializerconfiguration.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: initializerconfiguration.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/admissionregistration/initializerconfiguration/strategy.go b/pkg/registry/admissionregistration/initializerconfiguration/strategy.go index 6484e5c70b2..3f0e73925bc 100644 --- a/pkg/registry/admissionregistration/initializerconfiguration/strategy.go +++ b/pkg/registry/admissionregistration/initializerconfiguration/strategy.go @@ -17,16 +17,11 @@ limitations under the License. package initializerconfiguration import ( - "fmt" "reflect" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/admissionregistration" @@ -93,28 +88,3 @@ func (initializerConfigurationStrategy) ValidateUpdate(ctx genericapirequest.Con func (initializerConfigurationStrategy) AllowUnconditionalUpdate() bool { return false } - -// MatchReplicaSet is the filter used by the generic etcd backend to route -// watch events from etcd to clients of the apiserver only interested in specific -// labels/fields. -func MatchInitializerConfiguration(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - ic, ok := obj.(*admissionregistration.InitializerConfiguration) - if !ok { - return nil, nil, false, fmt.Errorf("Given object is not a InitializerConfiguration.") - } - return labels.Set(ic.ObjectMeta.Labels), InitializerConfigurationToSelectableFields(ic), ic.ObjectMeta.Initializers != nil, nil -} - -// InitializerConfigurationToSelectableFields returns a field set that represents the object. -func InitializerConfigurationToSelectableFields(ic *admissionregistration.InitializerConfiguration) fields.Set { - return generic.ObjectMetaFieldsSet(&ic.ObjectMeta, false) -} diff --git a/pkg/registry/apps/controllerrevision/BUILD b/pkg/registry/apps/controllerrevision/BUILD index e656b6cb948..51490282900 100644 --- a/pkg/registry/apps/controllerrevision/BUILD +++ b/pkg/registry/apps/controllerrevision/BUILD @@ -17,8 +17,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", ], @@ -35,14 +33,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/apps/controllerrevision/storage/storage.go b/pkg/registry/apps/controllerrevision/storage/storage.go index 556d5ef1be5..8c4d7024fdb 100644 --- a/pkg/registry/apps/controllerrevision/storage/storage.go +++ b/pkg/registry/apps/controllerrevision/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &apps.ControllerRevision{} }, NewListFunc: func() runtime.Object { return &apps.ControllerRevisionList{} }, - PredicateFunc: controllerrevision.MatchControllerRevision, DefaultQualifiedResource: apps.Resource("controllerrevisions"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("controllerrevisions"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: controllerrevision.Strategy, DeleteStrategy: controllerrevision.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: controllerrevision.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) } diff --git a/pkg/registry/apps/controllerrevision/strategy.go b/pkg/registry/apps/controllerrevision/strategy.go index 89cb78ab9e6..f6f207b9053 100644 --- a/pkg/registry/apps/controllerrevision/strategy.go +++ b/pkg/registry/apps/controllerrevision/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package controllerrevision import ( - "errors" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" @@ -83,26 +77,3 @@ func (strategy) ValidateUpdate(ctx genericapirequest.Context, newObj, oldObj run oldRevision, newRevision := oldObj.(*apps.ControllerRevision), newObj.(*apps.ControllerRevision) return validation.ValidateControllerRevisionUpdate(newRevision, oldRevision) } - -// ControllerRevisionToSelectableFields returns a field set that represents the object for matching purposes. -func ControllerRevisionToSelectableFields(revision *apps.ControllerRevision) fields.Set { - return generic.ObjectMetaFieldsSet(&revision.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - history, ok := obj.(*apps.ControllerRevision) - if !ok { - return nil, nil, false, errors.New("supplied object is not an ControllerRevision") - } - return labels.Set(history.ObjectMeta.Labels), ControllerRevisionToSelectableFields(history), history.Initializers != nil, nil -} - -// MatchControllerRevision returns a generic matcher for a given label and field selector. -func MatchControllerRevision(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/apps/controllerrevision/strategy_test.go b/pkg/registry/apps/controllerrevision/strategy_test.go index bba85db130c..594e33277ac 100644 --- a/pkg/registry/apps/controllerrevision/strategy_test.go +++ b/pkg/registry/apps/controllerrevision/strategy_test.go @@ -20,8 +20,6 @@ import ( "testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" @@ -127,55 +125,6 @@ func TestStrategy_ValidateUpdate(t *testing.T) { } } -func TestControllerRevisionToSelectableFields(t *testing.T) { - rev := newControllerRevision("validname", "validns", newObject(), 0) - fieldSet := ControllerRevisionToSelectableFields(rev) - if fieldSet.Get("metadata.name") != rev.Name { - t.Errorf("expeted %s found %s", rev.Name, fieldSet.Get("metadata.name")) - } - if fieldSet.Get("metadata.namespace") != rev.Namespace { - t.Errorf("expeted %s found %s", rev.Namespace, fieldSet.Get("metadata.namespace")) - } -} - -func TestGetAttrs(t *testing.T) { - rev := newControllerRevision("validname", "validns", newObject(), 0) - labelSet, fieldSet, uninitialized, err := GetAttrs(rev) - if err != nil { - t.Fatal(err) - } - if uninitialized { - t.Errorf("unexpected attrs") - } - if fieldSet.Get("metadata.name") != rev.Name { - t.Errorf("expeted %s found %s", rev.Name, fieldSet.Get("metadata.name")) - } - if fieldSet.Get("metadata.namespace") != rev.Namespace { - t.Errorf("expeted %s found %s", rev.Namespace, fieldSet.Get("metadata.namespace")) - } - if labelSet.Get("foo") != rev.Labels["foo"] { - t.Errorf("expected %s found %s", rev.Labels["foo"], labelSet.Get("foo")) - } -} - -func TestMatchControllerRevision(t *testing.T) { - rev := newControllerRevision("validname", "validns", newObject(), 0) - ls := labels.SelectorFromSet(labels.Set(rev.Labels)) - pred := MatchControllerRevision(ls, nil) - if matches, err := pred.Matches(rev); err != nil { - t.Error(err) - } else if !matches { - t.Error("failed to match ControllerRevision by labels") - } - fs := fields.SelectorFromSet(ControllerRevisionToSelectableFields(rev)) - pred = MatchControllerRevision(ls, fs) - if matches, err := pred.Matches(rev); err != nil { - t.Error(err) - } else if !matches { - t.Error("failed to match ControllerRevision by fields") - } -} - func newControllerRevision(name, namespace string, data runtime.Object, revision int64) *apps.ControllerRevision { return &apps.ControllerRevision{ ObjectMeta: metav1.ObjectMeta{ diff --git a/pkg/registry/apps/statefulset/BUILD b/pkg/registry/apps/statefulset/BUILD index ca2c3e58142..c9d4f03c723 100644 --- a/pkg/registry/apps/statefulset/BUILD +++ b/pkg/registry/apps/statefulset/BUILD @@ -20,14 +20,10 @@ go_library( "//pkg/apis/apps:go_default_library", "//pkg/apis/apps/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/apps/statefulset/storage/storage.go b/pkg/registry/apps/statefulset/storage/storage.go index d40f1d14c5e..dac28b0e846 100644 --- a/pkg/registry/apps/statefulset/storage/storage.go +++ b/pkg/registry/apps/statefulset/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &appsapi.StatefulSet{} }, NewListFunc: func() runtime.Object { return &appsapi.StatefulSetList{} }, - PredicateFunc: statefulset.MatchStatefulSet, DefaultQualifiedResource: appsapi.Resource("statefulsets"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("statefulsets"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { UpdateStrategy: statefulset.Strategy, DeleteStrategy: statefulset.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: statefulset.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/apps/statefulset/strategy.go b/pkg/registry/apps/statefulset/strategy.go index eda0b2a1fe8..9a737e8cfd2 100644 --- a/pkg/registry/apps/statefulset/strategy.go +++ b/pkg/registry/apps/statefulset/strategy.go @@ -17,17 +17,11 @@ limitations under the License. package statefulset import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" @@ -106,30 +100,6 @@ func (statefulSetStrategy) AllowUnconditionalUpdate() bool { return true } -// StatefulSetToSelectableFields returns a field set that represents the object. -func StatefulSetToSelectableFields(statefulSet *apps.StatefulSet) fields.Set { - return generic.ObjectMetaFieldsSet(&statefulSet.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - statefulSet, ok := obj.(*apps.StatefulSet) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not an StatefulSet.") - } - return labels.Set(statefulSet.ObjectMeta.Labels), StatefulSetToSelectableFields(statefulSet), statefulSet.Initializers != nil, nil -} - -// MatchStatefulSet is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchStatefulSet(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - type statefulSetStatusStrategy struct { statefulSetStrategy } diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD index 8a4f6c8af45..fb954d07f4e 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/BUILD @@ -5,7 +5,6 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( @@ -19,29 +18,13 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/autoscaling/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["strategy_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testapi:go_default_library", - "//pkg/api/testing:go_default_library", - "//pkg/apis/autoscaling:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go b/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go index 3421192cd07..fb5b598d3a3 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go @@ -39,7 +39,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscaler{} }, NewListFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscalerList{} }, - PredicateFunc: horizontalpodautoscaler.MatchAutoscaler, DefaultQualifiedResource: autoscaling.Resource("horizontalpodautoscalers"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("horizontalpodautoscalers"), @@ -47,7 +46,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { UpdateStrategy: horizontalpodautoscaler.Strategy, DeleteStrategy: horizontalpodautoscaler.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: horizontalpodautoscaler.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go index e7b05126e18..d9c81ab07e5 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy.go @@ -17,14 +17,9 @@ limitations under the License. package horizontalpodautoscaler import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" @@ -86,27 +81,6 @@ func (autoscalerStrategy) AllowUnconditionalUpdate() bool { return true } -func AutoscalerToSelectableFields(hpa *autoscaling.HorizontalPodAutoscaler) fields.Set { - return nil -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - hpa, ok := obj.(*autoscaling.HorizontalPodAutoscaler) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a horizontal pod autoscaler.") - } - return labels.Set(hpa.ObjectMeta.Labels), AutoscalerToSelectableFields(hpa), hpa.Initializers != nil, nil -} - -func MatchAutoscaler(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - type autoscalerStatusStrategy struct { autoscalerStrategy } diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy_test.go b/pkg/registry/autoscaling/horizontalpodautoscaler/strategy_test.go deleted file mode 100644 index f5df8fa211b..00000000000 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/strategy_test.go +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright 2015 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 horizontalpodautoscaler - -import ( - "testing" - - _ "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apis/autoscaling" -) - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - testapi.Autoscaling.GroupVersion().String(), - "Autoscaler", - AutoscalerToSelectableFields(&autoscaling.HorizontalPodAutoscaler{}), - nil, - ) -} diff --git a/pkg/registry/certificates/certificates/BUILD b/pkg/registry/certificates/certificates/BUILD index 87f6427ff28..7b2d0f21dc0 100644 --- a/pkg/registry/certificates/certificates/BUILD +++ b/pkg/registry/certificates/certificates/BUILD @@ -22,15 +22,11 @@ go_library( "//pkg/apis/certificates/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/certificates/certificates/storage/storage.go b/pkg/registry/certificates/certificates/storage/storage.go index 2da56ee106f..372717f3ee3 100644 --- a/pkg/registry/certificates/certificates/storage/storage.go +++ b/pkg/registry/certificates/certificates/storage/storage.go @@ -39,7 +39,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Approva Copier: api.Scheme, NewFunc: func() runtime.Object { return &certificates.CertificateSigningRequest{} }, NewListFunc: func() runtime.Object { return &certificates.CertificateSigningRequestList{} }, - PredicateFunc: csrregistry.Matcher, DefaultQualifiedResource: certificates.Resource("certificatesigningrequests"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("certificatesigningrequests"), @@ -47,7 +46,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Approva UpdateStrategy: csrregistry.Strategy, DeleteStrategy: csrregistry.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: csrregistry.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/certificates/certificates/strategy.go b/pkg/registry/certificates/certificates/strategy.go index 15a3794e6f7..8ef65a2c01a 100644 --- a/pkg/registry/certificates/certificates/strategy.go +++ b/pkg/registry/certificates/certificates/strategy.go @@ -19,13 +19,9 @@ package certificates import ( "fmt" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/certificates" @@ -176,26 +172,3 @@ func (csrApprovalStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, func (csrApprovalStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidateCertificateSigningRequestUpdate(obj.(*certificates.CertificateSigningRequest), old.(*certificates.CertificateSigningRequest)) } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - sa, ok := obj.(*certificates.CertificateSigningRequest) - if !ok { - return nil, nil, false, fmt.Errorf("not a CertificateSigningRequest") - } - return labels.Set(sa.Labels), SelectableFields(sa), sa.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that can be used for filter selection -func SelectableFields(obj *certificates.CertificateSigningRequest) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, false) -} diff --git a/pkg/registry/core/configmap/BUILD b/pkg/registry/core/configmap/BUILD index 6fb83539718..ff694136733 100644 --- a/pkg/registry/core/configmap/BUILD +++ b/pkg/registry/core/configmap/BUILD @@ -21,15 +21,11 @@ go_library( "//pkg/api/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) @@ -41,7 +37,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", ], diff --git a/pkg/registry/core/configmap/storage/storage.go b/pkg/registry/core/configmap/storage/storage.go index 8aed341b7c0..4a22ed8a310 100644 --- a/pkg/registry/core/configmap/storage/storage.go +++ b/pkg/registry/core/configmap/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.ConfigMap{} }, NewListFunc: func() runtime.Object { return &api.ConfigMapList{} }, - PredicateFunc: configmap.MatchConfigMap, DefaultQualifiedResource: api.Resource("configmaps"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("configmaps"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: configmap.Strategy, DeleteStrategy: configmap.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: configmap.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/configmap/strategy.go b/pkg/registry/core/configmap/strategy.go index abb663882fd..b44da007423 100644 --- a/pkg/registry/core/configmap/strategy.go +++ b/pkg/registry/core/configmap/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package configmap import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -84,26 +78,3 @@ func (strategy) ValidateUpdate(ctx genericapirequest.Context, newObj, oldObj run return validation.ValidateConfigMapUpdate(newCfg, oldCfg) } - -// ConfigMapToSelectableFields returns a field set that represents the object for matching purposes. -func ConfigMapToSelectableFields(cfg *api.ConfigMap) fields.Set { - return generic.ObjectMetaFieldsSet(&cfg.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - cfg, ok := obj.(*api.ConfigMap) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a ConfigMap") - } - return labels.Set(cfg.ObjectMeta.Labels), ConfigMapToSelectableFields(cfg), cfg.Initializers != nil, nil -} - -// MatchConfigMap returns a generic matcher for a given label and field selector. -func MatchConfigMap(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/core/configmap/strategy_test.go b/pkg/registry/core/configmap/strategy_test.go index c001f59c420..a6ec3254e19 100644 --- a/pkg/registry/core/configmap/strategy_test.go +++ b/pkg/registry/core/configmap/strategy_test.go @@ -22,7 +22,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" ) func TestConfigMapStrategy(t *testing.T) { @@ -69,12 +68,3 @@ func TestConfigMapStrategy(t *testing.T) { t.Errorf("Expected a validation error") } } - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "ConfigMap", - ConfigMapToSelectableFields(&api.ConfigMap{}), - nil, - ) -} diff --git a/pkg/registry/core/endpoint/BUILD b/pkg/registry/core/endpoint/BUILD index 0c6153559b9..3ccf3b9c5c7 100644 --- a/pkg/registry/core/endpoint/BUILD +++ b/pkg/registry/core/endpoint/BUILD @@ -5,7 +5,6 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( @@ -22,30 +21,15 @@ go_library( "//pkg/api/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["strategy_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/pkg/registry/core/endpoint/storage/storage.go b/pkg/registry/core/endpoint/storage/storage.go index 44abfc437a8..28e30837199 100644 --- a/pkg/registry/core/endpoint/storage/storage.go +++ b/pkg/registry/core/endpoint/storage/storage.go @@ -36,7 +36,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.Endpoints{} }, NewListFunc: func() runtime.Object { return &api.EndpointsList{} }, - PredicateFunc: endpoint.MatchEndpoints, DefaultQualifiedResource: api.Resource("endpoints"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("endpoints"), @@ -44,7 +43,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: endpoint.Strategy, DeleteStrategy: endpoint.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: endpoint.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/endpoint/strategy.go b/pkg/registry/core/endpoint/strategy.go index c50894b2e69..b3a6d4ee78b 100644 --- a/pkg/registry/core/endpoint/strategy.go +++ b/pkg/registry/core/endpoint/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package endpoint import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - pkgstorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" endptspkg "k8s.io/kubernetes/pkg/api/endpoints" @@ -80,27 +74,3 @@ func (endpointsStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old func (endpointsStrategy) AllowUnconditionalUpdate() bool { return true } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - endpoints, ok := obj.(*api.Endpoints) - if !ok { - return nil, nil, false, fmt.Errorf("invalid object type %#v", obj) - } - return endpoints.Labels, EndpointsToSelectableFields(endpoints), endpoints.Initializers != nil, nil -} - -// MatchEndpoints returns a generic matcher for a given label and field selector. -func MatchEndpoints(label labels.Selector, field fields.Selector) pkgstorage.SelectionPredicate { - return pkgstorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// EndpointsToSelectableFields returns a field set that represents the object -// TODO: fields are not labels, and the validation rules for them do not apply. -func EndpointsToSelectableFields(endpoints *api.Endpoints) fields.Set { - return generic.ObjectMetaFieldsSet(&endpoints.ObjectMeta, true) -} diff --git a/pkg/registry/core/endpoint/strategy_test.go b/pkg/registry/core/endpoint/strategy_test.go deleted file mode 100644 index b520dd4c9d8..00000000000 --- a/pkg/registry/core/endpoint/strategy_test.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2014 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 endpoint - -import ( - "testing" - - "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" -) - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "Endpoints", - EndpointsToSelectableFields(&api.Endpoints{}), - nil, - ) -} diff --git a/pkg/registry/core/limitrange/BUILD b/pkg/registry/core/limitrange/BUILD index 12732c4d4a4..a8ee1cf5167 100644 --- a/pkg/registry/core/limitrange/BUILD +++ b/pkg/registry/core/limitrange/BUILD @@ -5,7 +5,6 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( @@ -18,28 +17,14 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/uuid:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["strategy_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/pkg/registry/core/limitrange/storage/storage.go b/pkg/registry/core/limitrange/storage/storage.go index ba29960e362..68d43499d64 100644 --- a/pkg/registry/core/limitrange/storage/storage.go +++ b/pkg/registry/core/limitrange/storage/storage.go @@ -36,7 +36,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.LimitRange{} }, NewListFunc: func() runtime.Object { return &api.LimitRangeList{} }, - PredicateFunc: limitrange.MatchLimitRange, DefaultQualifiedResource: api.Resource("limitranges"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("limitranges"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { DeleteStrategy: limitrange.Strategy, ExportStrategy: limitrange.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: limitrange.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/limitrange/strategy.go b/pkg/registry/core/limitrange/strategy.go index 7f49d635a4f..25b9f14135a 100644 --- a/pkg/registry/core/limitrange/strategy.go +++ b/pkg/registry/core/limitrange/strategy.go @@ -17,15 +17,10 @@ limitations under the License. package limitrange import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -76,30 +71,9 @@ func (limitrangeStrategy) AllowUnconditionalUpdate() bool { return true } -func LimitRangeToSelectableFields(limitRange *api.LimitRange) fields.Set { - return nil -} - func (limitrangeStrategy) Export(genericapirequest.Context, runtime.Object, bool) error { // Copied from OpenShift exporter // TODO: this needs to be fixed // limitrange.Strategy.PrepareForCreate(ctx, obj) return nil } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - lr, ok := obj.(*api.LimitRange) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a limit range.") - } - return labels.Set(lr.ObjectMeta.Labels), LimitRangeToSelectableFields(lr), lr.Initializers != nil, nil -} - -func MatchLimitRange(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/core/limitrange/strategy_test.go b/pkg/registry/core/limitrange/strategy_test.go deleted file mode 100644 index 8c7c98e6efc..00000000000 --- a/pkg/registry/core/limitrange/strategy_test.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2015 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 limitrange - -import ( - "testing" - - "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" -) - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "LimitRange", - LimitRangeToSelectableFields(&api.LimitRange{}), - nil, - ) -} diff --git a/pkg/registry/core/podtemplate/BUILD b/pkg/registry/core/podtemplate/BUILD index ae3e776b5b8..24f51cc7e29 100644 --- a/pkg/registry/core/podtemplate/BUILD +++ b/pkg/registry/core/podtemplate/BUILD @@ -5,7 +5,6 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( @@ -18,27 +17,13 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["strategy_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/pkg/registry/core/podtemplate/storage/storage.go b/pkg/registry/core/podtemplate/storage/storage.go index 13d1d436594..9376d4b4ba4 100644 --- a/pkg/registry/core/podtemplate/storage/storage.go +++ b/pkg/registry/core/podtemplate/storage/storage.go @@ -35,7 +35,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.PodTemplate{} }, NewListFunc: func() runtime.Object { return &api.PodTemplateList{} }, - PredicateFunc: podtemplate.MatchPodTemplate, DefaultQualifiedResource: api.Resource("podtemplates"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("podtemplates"), @@ -46,7 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { ReturnDeletedObject: true, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: podtemplate.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/podtemplate/strategy.go b/pkg/registry/core/podtemplate/strategy.go index 87012c541cb..77a1dee56a3 100644 --- a/pkg/registry/core/podtemplate/strategy.go +++ b/pkg/registry/core/podtemplate/strategy.go @@ -17,14 +17,9 @@ limitations under the License. package podtemplate import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -83,24 +78,3 @@ func (podTemplateStrategy) Export(ctx genericapirequest.Context, obj runtime.Obj // Do nothing return nil } - -func PodTemplateToSelectableFields(podTemplate *api.PodTemplate) fields.Set { - return nil -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - pt, ok := obj.(*api.PodTemplate) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a pod template.") - } - return labels.Set(pt.ObjectMeta.Labels), PodTemplateToSelectableFields(pt), pt.Initializers != nil, nil -} - -func MatchPodTemplate(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/core/podtemplate/strategy_test.go b/pkg/registry/core/podtemplate/strategy_test.go deleted file mode 100644 index 0f82101df0b..00000000000 --- a/pkg/registry/core/podtemplate/strategy_test.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2015 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 podtemplate - -import ( - "testing" - - "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" -) - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "PodTemplate", - PodTemplateToSelectableFields(&api.PodTemplate{}), - nil, - ) -} diff --git a/pkg/registry/core/resourcequota/BUILD b/pkg/registry/core/resourcequota/BUILD index d77733d99bb..dd19588a71d 100644 --- a/pkg/registry/core/resourcequota/BUILD +++ b/pkg/registry/core/resourcequota/BUILD @@ -18,13 +18,9 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) @@ -36,7 +32,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", diff --git a/pkg/registry/core/resourcequota/storage/storage.go b/pkg/registry/core/resourcequota/storage/storage.go index 90638de8a6f..c708d114a41 100644 --- a/pkg/registry/core/resourcequota/storage/storage.go +++ b/pkg/registry/core/resourcequota/storage/storage.go @@ -38,7 +38,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.ResourceQuota{} }, NewListFunc: func() runtime.Object { return &api.ResourceQuotaList{} }, - PredicateFunc: resourcequota.MatchResourceQuota, DefaultQualifiedResource: api.Resource("resourcequotas"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("resourcequotas"), @@ -47,7 +46,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { DeleteStrategy: resourcequota.Strategy, ReturnDeletedObject: true, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: resourcequota.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/resourcequota/strategy.go b/pkg/registry/core/resourcequota/strategy.go index 6211e8f4bb0..e9c26c009ca 100644 --- a/pkg/registry/core/resourcequota/strategy.go +++ b/pkg/registry/core/resourcequota/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package resourcequota import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -99,26 +93,3 @@ func (resourcequotaStatusStrategy) PrepareForUpdate(ctx genericapirequest.Contex func (resourcequotaStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidateResourceQuotaStatusUpdate(obj.(*api.ResourceQuota), old.(*api.ResourceQuota)) } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - resourcequotaObj, ok := obj.(*api.ResourceQuota) - if !ok { - return nil, nil, false, fmt.Errorf("not a resourcequota") - } - return labels.Set(resourcequotaObj.Labels), ResourceQuotaToSelectableFields(resourcequotaObj), resourcequotaObj.Initializers != nil, nil -} - -// MatchResourceQuota returns a generic matcher for a given label and field selector. -func MatchResourceQuota(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// ResourceQuotaToSelectableFields returns a field set that represents the object -func ResourceQuotaToSelectableFields(resourcequota *api.ResourceQuota) fields.Set { - return generic.ObjectMetaFieldsSet(&resourcequota.ObjectMeta, true) -} diff --git a/pkg/registry/core/resourcequota/strategy_test.go b/pkg/registry/core/resourcequota/strategy_test.go index bde07ac7a6f..6ec3816fc06 100644 --- a/pkg/registry/core/resourcequota/strategy_test.go +++ b/pkg/registry/core/resourcequota/strategy_test.go @@ -23,7 +23,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" ) func TestResourceQuotaStrategy(t *testing.T) { @@ -59,12 +58,3 @@ func TestResourceQuotaStrategy(t *testing.T) { t.Errorf("ResourceQuota does not allow setting status on create") } } - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "ResourceQuota", - ResourceQuotaToSelectableFields(&api.ResourceQuota{}), - nil, - ) -} diff --git a/pkg/registry/core/service/BUILD b/pkg/registry/core/service/BUILD index 727511864b4..cc97dfc4545 100644 --- a/pkg/registry/core/service/BUILD +++ b/pkg/registry/core/service/BUILD @@ -32,8 +32,6 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/net:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/proxy:go_default_library", @@ -41,9 +39,7 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", "//vendor/k8s.io/apiserver/pkg/util/feature:go_default_library", ], @@ -61,7 +57,6 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/helper:go_default_library", "//pkg/api/service:go_default_library", - "//pkg/api/testing:go_default_library", "//pkg/features:go_default_library", "//pkg/registry/core/service/ipallocator:go_default_library", "//pkg/registry/core/service/portallocator:go_default_library", diff --git a/pkg/registry/core/service/storage/storage.go b/pkg/registry/core/service/storage/storage.go index 6192b2842c8..886f227592e 100644 --- a/pkg/registry/core/service/storage/storage.go +++ b/pkg/registry/core/service/storage/storage.go @@ -38,7 +38,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.Service{} }, NewListFunc: func() runtime.Object { return &api.ServiceList{} }, - PredicateFunc: service.MatchServices, DefaultQualifiedResource: api.Resource("services"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("services"), @@ -47,7 +46,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { DeleteStrategy: service.Strategy, ExportStrategy: service.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: service.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/service/strategy.go b/pkg/registry/core/service/strategy.go index 7736f6c2cce..1d3da254978 100644 --- a/pkg/registry/core/service/strategy.go +++ b/pkg/registry/core/service/strategy.go @@ -19,13 +19,9 @@ package service import ( "fmt" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -103,27 +99,6 @@ func (svcStrategy) Export(ctx genericapirequest.Context, obj runtime.Object, exa return nil } -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - service, ok := obj.(*api.Service) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a service") - } - return labels.Set(service.ObjectMeta.Labels), ServiceToSelectableFields(service), service.Initializers != nil, nil -} - -func MatchServices(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -func ServiceToSelectableFields(service *api.Service) fields.Set { - return generic.ObjectMetaFieldsSet(&service.ObjectMeta, true) -} - type serviceStatusStrategy struct { svcStrategy } diff --git a/pkg/registry/core/service/strategy_test.go b/pkg/registry/core/service/strategy_test.go index 7f01450bfda..46e3c65546e 100644 --- a/pkg/registry/core/service/strategy_test.go +++ b/pkg/registry/core/service/strategy_test.go @@ -27,7 +27,6 @@ import ( genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" ) func TestExportService(t *testing.T) { @@ -212,15 +211,6 @@ func TestBeforeUpdate(t *testing.T) { } } -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "Service", - ServiceToSelectableFields(&api.Service{}), - nil, - ) -} - func TestServiceStatusStrategy(t *testing.T) { ctx := genericapirequest.NewDefaultContext() if !StatusStrategy.NamespaceScoped() { diff --git a/pkg/registry/core/serviceaccount/BUILD b/pkg/registry/core/serviceaccount/BUILD index d3e815ffc36..6e460eda990 100644 --- a/pkg/registry/core/serviceaccount/BUILD +++ b/pkg/registry/core/serviceaccount/BUILD @@ -5,7 +5,6 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( @@ -21,30 +20,15 @@ go_library( "//pkg/api/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) -go_test( - name = "go_default_test", - srcs = ["strategy_test.go"], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//pkg/api:go_default_library", - "//pkg/api/testing:go_default_library", - ], -) - filegroup( name = "package-srcs", srcs = glob(["**"]), diff --git a/pkg/registry/core/serviceaccount/storage/storage.go b/pkg/registry/core/serviceaccount/storage/storage.go index 3c9b1d26e94..9d6b8c1ffbb 100644 --- a/pkg/registry/core/serviceaccount/storage/storage.go +++ b/pkg/registry/core/serviceaccount/storage/storage.go @@ -36,7 +36,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &api.ServiceAccount{} }, NewListFunc: func() runtime.Object { return &api.ServiceAccountList{} }, - PredicateFunc: serviceaccount.Matcher, DefaultQualifiedResource: api.Resource("serviceaccounts"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("serviceaccounts"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { DeleteStrategy: serviceaccount.Strategy, ReturnDeletedObject: true, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: serviceaccount.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/core/serviceaccount/strategy.go b/pkg/registry/core/serviceaccount/strategy.go index 2ff37ecd94a..501e0436189 100644 --- a/pkg/registry/core/serviceaccount/strategy.go +++ b/pkg/registry/core/serviceaccount/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package serviceaccount import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/validation" @@ -78,26 +72,3 @@ func (strategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.O func (strategy) AllowUnconditionalUpdate() bool { return true } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - sa, ok := obj.(*api.ServiceAccount) - if !ok { - return nil, nil, false, fmt.Errorf("not a serviceaccount") - } - return labels.Set(sa.Labels), SelectableFields(sa), sa.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that represents the object -func SelectableFields(obj *api.ServiceAccount) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, true) -} diff --git a/pkg/registry/core/serviceaccount/strategy_test.go b/pkg/registry/core/serviceaccount/strategy_test.go deleted file mode 100644 index 76b1cdc57c1..00000000000 --- a/pkg/registry/core/serviceaccount/strategy_test.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright 2015 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 serviceaccount - -import ( - "testing" - - "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" -) - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - api.Registry.GroupOrDie(api.GroupName).GroupVersion.String(), - "ServiceAccount", - SelectableFields(&api.ServiceAccount{}), - nil, - ) -} diff --git a/pkg/registry/extensions/daemonset/BUILD b/pkg/registry/extensions/daemonset/BUILD index 294aaec3378..eb6a4a423fc 100644 --- a/pkg/registry/extensions/daemonset/BUILD +++ b/pkg/registry/extensions/daemonset/BUILD @@ -20,14 +20,10 @@ go_library( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) @@ -39,9 +35,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/testapi:go_default_library", - "//pkg/api/testing:go_default_library", - "//pkg/apis/extensions:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", ], ) diff --git a/pkg/registry/extensions/daemonset/storage/storage.go b/pkg/registry/extensions/daemonset/storage/storage.go index 86e7e45c2fb..b3d754d093f 100644 --- a/pkg/registry/extensions/daemonset/storage/storage.go +++ b/pkg/registry/extensions/daemonset/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &extensions.DaemonSet{} }, NewListFunc: func() runtime.Object { return &extensions.DaemonSetList{} }, - PredicateFunc: daemonset.MatchDaemonSet, DefaultQualifiedResource: extensions.Resource("daemonsets"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("daemonsets"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { UpdateStrategy: daemonset.Strategy, DeleteStrategy: daemonset.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: daemonset.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/extensions/daemonset/strategy.go b/pkg/registry/extensions/daemonset/strategy.go index 80e03dc1665..c75fa365237 100644 --- a/pkg/registry/extensions/daemonset/strategy.go +++ b/pkg/registry/extensions/daemonset/strategy.go @@ -17,17 +17,11 @@ limitations under the License. package daemonset import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -125,31 +119,6 @@ func (daemonSetStrategy) AllowUnconditionalUpdate() bool { return true } -// DaemonSetToSelectableFields returns a field set that represents the object. -func DaemonSetToSelectableFields(daemon *extensions.DaemonSet) fields.Set { - return generic.ObjectMetaFieldsSet(&daemon.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - ds, ok := obj.(*extensions.DaemonSet) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a ds.") - } - return labels.Set(ds.ObjectMeta.Labels), DaemonSetToSelectableFields(ds), ds.Initializers != nil, nil -} - -// MatchSetDaemon is the filter used by the generic etcd backend to route -// watch events from etcd to clients of the apiserver only interested in specific -// labels/fields. -func MatchDaemonSet(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - type daemonSetStatusStrategy struct { daemonSetStrategy } diff --git a/pkg/registry/extensions/daemonset/strategy_test.go b/pkg/registry/extensions/daemonset/strategy_test.go index 0590c76473a..0f16ce4d96d 100644 --- a/pkg/registry/extensions/daemonset/strategy_test.go +++ b/pkg/registry/extensions/daemonset/strategy_test.go @@ -21,20 +21,8 @@ import ( "k8s.io/apiserver/pkg/registry/rest" _ "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" - "k8s.io/kubernetes/pkg/apis/extensions" ) -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - testapi.Extensions.GroupVersion().String(), - "DaemonSet", - DaemonSetToSelectableFields(&extensions.DaemonSet{}), - nil, - ) -} - func TestDefaultGarbageCollectionPolicy(t *testing.T) { // Make sure we correctly implement the interface. // Otherwise a typo could silently change the default. diff --git a/pkg/registry/extensions/deployment/BUILD b/pkg/registry/extensions/deployment/BUILD index c4280eaaed3..ff1210ed68b 100644 --- a/pkg/registry/extensions/deployment/BUILD +++ b/pkg/registry/extensions/deployment/BUILD @@ -23,14 +23,10 @@ go_library( "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) @@ -42,8 +38,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/testapi:go_default_library", - "//pkg/api/testing:go_default_library", "//pkg/apis/extensions:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", diff --git a/pkg/registry/extensions/deployment/storage/storage.go b/pkg/registry/extensions/deployment/storage/storage.go index d747ecad8af..1e6fcbe83d5 100644 --- a/pkg/registry/extensions/deployment/storage/storage.go +++ b/pkg/registry/extensions/deployment/storage/storage.go @@ -66,7 +66,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Rollbac Copier: api.Scheme, NewFunc: func() runtime.Object { return &extensions.Deployment{} }, NewListFunc: func() runtime.Object { return &extensions.DeploymentList{} }, - PredicateFunc: deployment.MatchDeployment, DefaultQualifiedResource: extensions.Resource("deployments"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("deployments"), @@ -74,7 +73,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Rollbac UpdateStrategy: deployment.Strategy, DeleteStrategy: deployment.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: deployment.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/extensions/deployment/strategy.go b/pkg/registry/extensions/deployment/strategy.go index 819ca5e965f..a90aeb89bae 100644 --- a/pkg/registry/extensions/deployment/strategy.go +++ b/pkg/registry/extensions/deployment/strategy.go @@ -17,17 +17,11 @@ limitations under the License. package deployment import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -119,28 +113,3 @@ func (deploymentStatusStrategy) PrepareForUpdate(ctx genericapirequest.Context, func (deploymentStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidateDeploymentStatusUpdate(obj.(*extensions.Deployment), old.(*extensions.Deployment)) } - -// DeploymentToSelectableFields returns a field set that represents the object. -func DeploymentToSelectableFields(deployment *extensions.Deployment) fields.Set { - return generic.ObjectMetaFieldsSet(&deployment.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - deployment, ok := obj.(*extensions.Deployment) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a deployment.") - } - return labels.Set(deployment.ObjectMeta.Labels), DeploymentToSelectableFields(deployment), deployment.Initializers != nil, nil -} - -// MatchDeployment is the filter used by the generic etcd backend to route -// watch events from etcd to clients of the apiserver only interested in specific -// labels/fields. -func MatchDeployment(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/extensions/deployment/strategy_test.go b/pkg/registry/extensions/deployment/strategy_test.go index c166457f121..74668493540 100644 --- a/pkg/registry/extensions/deployment/strategy_test.go +++ b/pkg/registry/extensions/deployment/strategy_test.go @@ -24,20 +24,9 @@ import ( "k8s.io/apimachinery/pkg/runtime" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/apis/extensions" ) -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - testapi.Extensions.GroupVersion().String(), - "Deployment", - DeploymentToSelectableFields(&extensions.Deployment{}), - nil, - ) -} - func TestStatusUpdates(t *testing.T) { tests := []struct { old runtime.Object diff --git a/pkg/registry/extensions/ingress/BUILD b/pkg/registry/extensions/ingress/BUILD index d849d82d872..bdd561af8e5 100644 --- a/pkg/registry/extensions/ingress/BUILD +++ b/pkg/registry/extensions/ingress/BUILD @@ -20,13 +20,9 @@ go_library( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) @@ -38,8 +34,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/testapi:go_default_library", - "//pkg/api/testing:go_default_library", "//pkg/apis/extensions:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/intstr:go_default_library", diff --git a/pkg/registry/extensions/ingress/storage/storage.go b/pkg/registry/extensions/ingress/storage/storage.go index 8b891a6209a..f6c7d6a915c 100644 --- a/pkg/registry/extensions/ingress/storage/storage.go +++ b/pkg/registry/extensions/ingress/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &extensions.Ingress{} }, NewListFunc: func() runtime.Object { return &extensions.IngressList{} }, - PredicateFunc: ingress.MatchIngress, DefaultQualifiedResource: extensions.Resource("ingresses"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("ingresses"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { UpdateStrategy: ingress.Strategy, DeleteStrategy: ingress.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: ingress.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/extensions/ingress/strategy.go b/pkg/registry/extensions/ingress/strategy.go index add1e0a3276..41edf5bc7f4 100644 --- a/pkg/registry/extensions/ingress/strategy.go +++ b/pkg/registry/extensions/ingress/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package ingress import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -100,31 +94,6 @@ func (ingressStrategy) AllowUnconditionalUpdate() bool { return true } -// IngressToSelectableFields returns a field set that represents the object. -func IngressToSelectableFields(ingress *extensions.Ingress) fields.Set { - return generic.ObjectMetaFieldsSet(&ingress.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - ingress, ok := obj.(*extensions.Ingress) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not an Ingress.") - } - return labels.Set(ingress.ObjectMeta.Labels), IngressToSelectableFields(ingress), ingress.Initializers != nil, nil -} - -// MatchIngress is the filter used by the generic etcd backend to ingress -// watch events from etcd to clients of the apiserver only interested in specific -// labels/fields. -func MatchIngress(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - type ingressStatusStrategy struct { ingressStrategy } diff --git a/pkg/registry/extensions/ingress/strategy_test.go b/pkg/registry/extensions/ingress/strategy_test.go index 3e381eca41b..15db6711ff5 100644 --- a/pkg/registry/extensions/ingress/strategy_test.go +++ b/pkg/registry/extensions/ingress/strategy_test.go @@ -23,8 +23,6 @@ import ( "k8s.io/apimachinery/pkg/util/intstr" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/apis/extensions" ) @@ -132,12 +130,3 @@ func TestIngressStatusStrategy(t *testing.T) { t.Errorf("Unexpected error %v", errs) } } - -func TestSelectableFieldLabelConversions(t *testing.T) { - apitesting.TestSelectableFieldLabelConversionsOfKind(t, - testapi.Extensions.GroupVersion().String(), - "Ingress", - IngressToSelectableFields(&extensions.Ingress{}), - nil, - ) -} diff --git a/pkg/registry/extensions/networkpolicy/BUILD b/pkg/registry/extensions/networkpolicy/BUILD index 782847dde18..8d1bedf5269 100644 --- a/pkg/registry/extensions/networkpolicy/BUILD +++ b/pkg/registry/extensions/networkpolicy/BUILD @@ -20,13 +20,9 @@ go_library( "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/extensions/networkpolicy/storage/storage.go b/pkg/registry/extensions/networkpolicy/storage/storage.go index 8bb412a4a0d..cb69d55ee47 100644 --- a/pkg/registry/extensions/networkpolicy/storage/storage.go +++ b/pkg/registry/extensions/networkpolicy/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &extensionsapi.NetworkPolicy{} }, NewListFunc: func() runtime.Object { return &extensionsapi.NetworkPolicyList{} }, - PredicateFunc: networkpolicy.MatchNetworkPolicy, DefaultQualifiedResource: extensionsapi.Resource("networkpolicies"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("networkpolicies"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: networkpolicy.Strategy, DeleteStrategy: networkpolicy.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: networkpolicy.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/extensions/networkpolicy/strategy.go b/pkg/registry/extensions/networkpolicy/strategy.go index 63eb28b719f..1c1ea71377d 100644 --- a/pkg/registry/extensions/networkpolicy/strategy.go +++ b/pkg/registry/extensions/networkpolicy/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package networkpolicy import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -92,27 +86,3 @@ func (networkPolicyStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, func (networkPolicyStrategy) AllowUnconditionalUpdate() bool { return true } - -// NetworkPolicyToSelectableFields returns a field set that represents the object. -func NetworkPolicyToSelectableFields(networkPolicy *extensions.NetworkPolicy) fields.Set { - return generic.ObjectMetaFieldsSet(&networkPolicy.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - networkPolicy, ok := obj.(*extensions.NetworkPolicy) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a NetworkPolicy.") - } - return labels.Set(networkPolicy.ObjectMeta.Labels), NetworkPolicyToSelectableFields(networkPolicy), networkPolicy.Initializers != nil, nil -} - -// MatchNetworkPolicy is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchNetworkPolicy(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/extensions/podsecuritypolicy/BUILD b/pkg/registry/extensions/podsecuritypolicy/BUILD index 658ab4cdc29..fe59a04ecb0 100644 --- a/pkg/registry/extensions/podsecuritypolicy/BUILD +++ b/pkg/registry/extensions/podsecuritypolicy/BUILD @@ -18,14 +18,10 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/apis/extensions/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/extensions/podsecuritypolicy/storage/storage.go b/pkg/registry/extensions/podsecuritypolicy/storage/storage.go index eff8d11b76e..7f4eed37aa5 100644 --- a/pkg/registry/extensions/podsecuritypolicy/storage/storage.go +++ b/pkg/registry/extensions/podsecuritypolicy/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &extensions.PodSecurityPolicy{} }, NewListFunc: func() runtime.Object { return &extensions.PodSecurityPolicyList{} }, - PredicateFunc: podsecuritypolicy.MatchPodSecurityPolicy, DefaultQualifiedResource: extensions.Resource("podsecuritypolicies"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("podsecuritypolicies"), @@ -46,7 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { DeleteStrategy: podsecuritypolicy.Strategy, ReturnDeletedObject: true, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: podsecuritypolicy.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/extensions/podsecuritypolicy/strategy.go b/pkg/registry/extensions/podsecuritypolicy/strategy.go index d9213619da3..130b90d338b 100644 --- a/pkg/registry/extensions/podsecuritypolicy/strategy.go +++ b/pkg/registry/extensions/podsecuritypolicy/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package podsecuritypolicy import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -75,26 +69,3 @@ func (strategy) Validate(ctx genericapirequest.Context, obj runtime.Object) fiel func (strategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidatePodSecurityPolicyUpdate(old.(*extensions.PodSecurityPolicy), obj.(*extensions.PodSecurityPolicy)) } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - psp, ok := obj.(*extensions.PodSecurityPolicy) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a pod security policy.") - } - return labels.Set(psp.ObjectMeta.Labels), PodSecurityPolicyToSelectableFields(psp), psp.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func MatchPodSecurityPolicy(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// PodSecurityPolicyToSelectableFields returns a label set that represents the object -func PodSecurityPolicyToSelectableFields(obj *extensions.PodSecurityPolicy) fields.Set { - return generic.ObjectMetaFieldsSet(&obj.ObjectMeta, false) -} diff --git a/pkg/registry/networking/networkpolicy/BUILD b/pkg/registry/networking/networkpolicy/BUILD index 6a09bac280d..a3f9aea9321 100644 --- a/pkg/registry/networking/networkpolicy/BUILD +++ b/pkg/registry/networking/networkpolicy/BUILD @@ -21,15 +21,11 @@ go_library( "//pkg/apis/networking/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/networking/networkpolicy/storage/storage.go b/pkg/registry/networking/networkpolicy/storage/storage.go index 3e26dd33751..0ee45bde784 100644 --- a/pkg/registry/networking/networkpolicy/storage/storage.go +++ b/pkg/registry/networking/networkpolicy/storage/storage.go @@ -38,7 +38,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &networkingapi.NetworkPolicy{} }, NewListFunc: func() runtime.Object { return &networkingapi.NetworkPolicyList{} }, - PredicateFunc: networkpolicy.Matcher, DefaultQualifiedResource: networkingapi.Resource("networkpolicies"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("networkpolicies"), @@ -46,7 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: networkpolicy.Strategy, DeleteStrategy: networkpolicy.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: networkpolicy.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/networking/networkpolicy/strategy.go b/pkg/registry/networking/networkpolicy/strategy.go index 2b58c6c1288..fe66f6f62e2 100644 --- a/pkg/registry/networking/networkpolicy/strategy.go +++ b/pkg/registry/networking/networkpolicy/strategy.go @@ -17,16 +17,11 @@ limitations under the License. package networkpolicy import ( - "fmt" "reflect" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/networking" @@ -91,27 +86,3 @@ func (networkPolicyStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, func (networkPolicyStrategy) AllowUnconditionalUpdate() bool { return true } - -// SelectableFields returns a field set that represents the object. -func SelectableFields(networkPolicy *networking.NetworkPolicy) fields.Set { - return generic.ObjectMetaFieldsSet(&networkPolicy.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - networkPolicy, ok := obj.(*networking.NetworkPolicy) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a NetworkPolicy.") - } - return labels.Set(networkPolicy.ObjectMeta.Labels), SelectableFields(networkPolicy), networkPolicy.Initializers != nil, nil -} - -// Matcher is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/policy/poddisruptionbudget/BUILD b/pkg/registry/policy/poddisruptionbudget/BUILD index b492e7221ed..0f918b931b0 100644 --- a/pkg/registry/policy/poddisruptionbudget/BUILD +++ b/pkg/registry/policy/poddisruptionbudget/BUILD @@ -20,13 +20,9 @@ go_library( "//pkg/apis/policy:go_default_library", "//pkg/apis/policy/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/api/equality:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/policy/poddisruptionbudget/storage/storage.go b/pkg/registry/policy/poddisruptionbudget/storage/storage.go index 2daa230365d..e97136c2958 100644 --- a/pkg/registry/policy/poddisruptionbudget/storage/storage.go +++ b/pkg/registry/policy/poddisruptionbudget/storage/storage.go @@ -40,7 +40,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { Copier: api.Scheme, NewFunc: func() runtime.Object { return &policyapi.PodDisruptionBudget{} }, NewListFunc: func() runtime.Object { return &policyapi.PodDisruptionBudgetList{} }, - PredicateFunc: poddisruptionbudget.MatchPodDisruptionBudget, DefaultQualifiedResource: policyapi.Resource("poddisruptionbudgets"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("poddisruptionbudgets"), @@ -48,7 +47,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { UpdateStrategy: poddisruptionbudget.Strategy, DeleteStrategy: poddisruptionbudget.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: poddisruptionbudget.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/policy/poddisruptionbudget/strategy.go b/pkg/registry/policy/poddisruptionbudget/strategy.go index a0f6a71d22a..43ef18c0a7a 100644 --- a/pkg/registry/policy/poddisruptionbudget/strategy.go +++ b/pkg/registry/policy/poddisruptionbudget/strategy.go @@ -17,16 +17,10 @@ limitations under the License. package poddisruptionbudget import ( - "fmt" - apiequality "k8s.io/apimachinery/pkg/api/equality" - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/policy" @@ -99,30 +93,6 @@ func (podDisruptionBudgetStrategy) AllowUnconditionalUpdate() bool { return false } -// PodDisruptionBudgetToSelectableFields returns a field set that represents the object. -func PodDisruptionBudgetToSelectableFields(podDisruptionBudget *policy.PodDisruptionBudget) fields.Set { - return generic.ObjectMetaFieldsSet(&podDisruptionBudget.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - podDisruptionBudget, ok := obj.(*policy.PodDisruptionBudget) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a PodDisruptionBudget.") - } - return labels.Set(podDisruptionBudget.ObjectMeta.Labels), PodDisruptionBudgetToSelectableFields(podDisruptionBudget), podDisruptionBudget.Initializers != nil, nil -} - -// MatchPodDisruptionBudget is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func MatchPodDisruptionBudget(label labels.Selector, field fields.Selector) storage.SelectionPredicate { - return storage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - type podDisruptionBudgetStatusStrategy struct { podDisruptionBudgetStrategy } diff --git a/pkg/registry/rbac/clusterrole/BUILD b/pkg/registry/rbac/clusterrole/BUILD index caa3362b1aa..36124e2898d 100644 --- a/pkg/registry/rbac/clusterrole/BUILD +++ b/pkg/registry/rbac/clusterrole/BUILD @@ -21,14 +21,11 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/rbac/clusterrole/storage/storage.go b/pkg/registry/rbac/clusterrole/storage/storage.go index e434280a409..9c8dbc86279 100644 --- a/pkg/registry/rbac/clusterrole/storage/storage.go +++ b/pkg/registry/rbac/clusterrole/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &rbac.ClusterRole{} }, NewListFunc: func() runtime.Object { return &rbac.ClusterRoleList{} }, - PredicateFunc: clusterrole.Matcher, DefaultQualifiedResource: rbac.Resource("clusterroles"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("clusterroles"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: clusterrole.Strategy, DeleteStrategy: clusterrole.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: clusterrole.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/rbac/clusterrole/strategy.go b/pkg/registry/rbac/clusterrole/strategy.go index ead2a876f27..7d4e766a880 100644 --- a/pkg/registry/rbac/clusterrole/strategy.go +++ b/pkg/registry/rbac/clusterrole/strategy.go @@ -17,15 +17,10 @@ limitations under the License. package clusterrole import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" @@ -102,26 +97,3 @@ func (strategy) AllowUnconditionalUpdate() bool { func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exact bool) error { return nil } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - role, ok := obj.(*rbac.ClusterRole) - if !ok { - return nil, nil, false, fmt.Errorf("not a ClusterRole") - } - return labels.Set(role.Labels), SelectableFields(role), role.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that can be used for filter selection -func SelectableFields(obj *rbac.ClusterRole) fields.Set { - return nil -} diff --git a/pkg/registry/rbac/clusterrolebinding/BUILD b/pkg/registry/rbac/clusterrolebinding/BUILD index f08b0a01342..8de2b3d2f1b 100644 --- a/pkg/registry/rbac/clusterrolebinding/BUILD +++ b/pkg/registry/rbac/clusterrolebinding/BUILD @@ -21,14 +21,11 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/rbac/clusterrolebinding/storage/storage.go b/pkg/registry/rbac/clusterrolebinding/storage/storage.go index 2cb178ca63f..31eefd21911 100644 --- a/pkg/registry/rbac/clusterrolebinding/storage/storage.go +++ b/pkg/registry/rbac/clusterrolebinding/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &rbac.ClusterRoleBinding{} }, NewListFunc: func() runtime.Object { return &rbac.ClusterRoleBindingList{} }, - PredicateFunc: clusterrolebinding.Matcher, DefaultQualifiedResource: rbac.Resource("clusterrolebindings"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("clusterrolebindings"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: clusterrolebinding.Strategy, DeleteStrategy: clusterrolebinding.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: clusterrolebinding.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/rbac/clusterrolebinding/strategy.go b/pkg/registry/rbac/clusterrolebinding/strategy.go index bb9168d51d4..383be8bd2d9 100644 --- a/pkg/registry/rbac/clusterrolebinding/strategy.go +++ b/pkg/registry/rbac/clusterrolebinding/strategy.go @@ -17,15 +17,10 @@ limitations under the License. package clusterrolebinding import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" @@ -102,26 +97,3 @@ func (strategy) AllowUnconditionalUpdate() bool { func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exact bool) error { return nil } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - roleBinding, ok := obj.(*rbac.ClusterRoleBinding) - if !ok { - return nil, nil, false, fmt.Errorf("not a ClusterRoleBinding") - } - return labels.Set(roleBinding.Labels), SelectableFields(roleBinding), roleBinding.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that can be used for filter selection -func SelectableFields(obj *rbac.ClusterRoleBinding) fields.Set { - return nil -} diff --git a/pkg/registry/rbac/role/BUILD b/pkg/registry/rbac/role/BUILD index 6f4756a478e..a42f6c9182f 100644 --- a/pkg/registry/rbac/role/BUILD +++ b/pkg/registry/rbac/role/BUILD @@ -21,14 +21,11 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/rbac/role/storage/storage.go b/pkg/registry/rbac/role/storage/storage.go index 18f17867252..4717f9371f2 100644 --- a/pkg/registry/rbac/role/storage/storage.go +++ b/pkg/registry/rbac/role/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &rbac.Role{} }, NewListFunc: func() runtime.Object { return &rbac.RoleList{} }, - PredicateFunc: role.Matcher, DefaultQualifiedResource: rbac.Resource("roles"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("roles"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: role.Strategy, DeleteStrategy: role.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: role.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/rbac/role/strategy.go b/pkg/registry/rbac/role/strategy.go index aaf2a56abb8..da80adc4ed7 100644 --- a/pkg/registry/rbac/role/strategy.go +++ b/pkg/registry/rbac/role/strategy.go @@ -17,15 +17,10 @@ limitations under the License. package role import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" @@ -102,26 +97,3 @@ func (strategy) AllowUnconditionalUpdate() bool { func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exact bool) error { return nil } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - role, ok := obj.(*rbac.Role) - if !ok { - return nil, nil, false, fmt.Errorf("not a Role") - } - return labels.Set(role.Labels), SelectableFields(role), role.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that can be used for filter selection -func SelectableFields(obj *rbac.Role) fields.Set { - return nil -} diff --git a/pkg/registry/rbac/rolebinding/BUILD b/pkg/registry/rbac/rolebinding/BUILD index 18f5138a017..fde3b7a5d95 100644 --- a/pkg/registry/rbac/rolebinding/BUILD +++ b/pkg/registry/rbac/rolebinding/BUILD @@ -21,14 +21,11 @@ go_library( "//pkg/apis/rbac/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/rbac/rolebinding/storage/storage.go b/pkg/registry/rbac/rolebinding/storage/storage.go index 3ccf4f72cf6..25ff81aad0d 100644 --- a/pkg/registry/rbac/rolebinding/storage/storage.go +++ b/pkg/registry/rbac/rolebinding/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &rbac.RoleBinding{} }, NewListFunc: func() runtime.Object { return &rbac.RoleBindingList{} }, - PredicateFunc: rolebinding.Matcher, DefaultQualifiedResource: rbac.Resource("rolebindings"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("rolebindings"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: rolebinding.Strategy, DeleteStrategy: rolebinding.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: rolebinding.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/rbac/rolebinding/strategy.go b/pkg/registry/rbac/rolebinding/strategy.go index f5291ab0b23..0abeb7ed76c 100644 --- a/pkg/registry/rbac/rolebinding/strategy.go +++ b/pkg/registry/rbac/rolebinding/strategy.go @@ -17,15 +17,10 @@ limitations under the License. package rolebinding import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/apiserver/pkg/registry/rest" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" @@ -102,26 +97,3 @@ func (strategy) AllowUnconditionalUpdate() bool { func (s strategy) Export(ctx genericapirequest.Context, obj runtime.Object, exact bool) error { return nil } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - roleBinding, ok := obj.(*rbac.RoleBinding) - if !ok { - return nil, nil, false, fmt.Errorf("not a RoleBinding") - } - return labels.Set(roleBinding.Labels), SelectableFields(roleBinding), roleBinding.Initializers != nil, nil -} - -// Matcher returns a generic matcher for a given label and field selector. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// SelectableFields returns a field set that can be used for filter selection -func SelectableFields(obj *rbac.RoleBinding) fields.Set { - return nil -} diff --git a/pkg/registry/scheduling/priorityclass/BUILD b/pkg/registry/scheduling/priorityclass/BUILD index ffea9f8a5b4..b92c2898890 100644 --- a/pkg/registry/scheduling/priorityclass/BUILD +++ b/pkg/registry/scheduling/priorityclass/BUILD @@ -34,15 +34,11 @@ go_library( "//pkg/apis/scheduling/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/scheduling/priorityclass/storage/storage.go b/pkg/registry/scheduling/priorityclass/storage/storage.go index 5f2ba014b5d..6390381f1f1 100644 --- a/pkg/registry/scheduling/priorityclass/storage/storage.go +++ b/pkg/registry/scheduling/priorityclass/storage/storage.go @@ -38,7 +38,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &schedulingapi.PriorityClass{} }, NewListFunc: func() runtime.Object { return &schedulingapi.PriorityClassList{} }, - PredicateFunc: priorityclass.Matcher, DefaultQualifiedResource: schedulingapi.Resource("priorityclasses"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("priorityclasses"), @@ -46,7 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: priorityclass.Strategy, DeleteStrategy: priorityclass.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: priorityclass.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/scheduling/priorityclass/strategy.go b/pkg/registry/scheduling/priorityclass/strategy.go index 64be7365f81..6a6e060eef7 100644 --- a/pkg/registry/scheduling/priorityclass/strategy.go +++ b/pkg/registry/scheduling/priorityclass/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package priorityclass import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/scheduling" @@ -83,27 +77,3 @@ func (priorityClassStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, func (priorityClassStrategy) AllowUnconditionalUpdate() bool { return true } - -// SelectableFields returns a field set that represents the object. -func SelectableFields(pc *scheduling.PriorityClass) fields.Set { - return generic.ObjectMetaFieldsSet(&pc.ObjectMeta, false) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - pc, ok := obj.(*scheduling.PriorityClass) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a PriorityClass") - } - return labels.Set(pc.ObjectMeta.Labels), SelectableFields(pc), pc.Initializers != nil, nil -} - -// Matcher is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/settings/podpreset/BUILD b/pkg/registry/settings/podpreset/BUILD index 4868f51f3c9..010ecd82f3e 100644 --- a/pkg/registry/settings/podpreset/BUILD +++ b/pkg/registry/settings/podpreset/BUILD @@ -21,15 +21,11 @@ go_library( "//pkg/apis/settings/validation:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/internalversion:go_default_library", "//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apimachinery/pkg/watch:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", "//vendor/k8s.io/apiserver/pkg/registry/rest:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/settings/podpreset/storage/storage.go b/pkg/registry/settings/podpreset/storage/storage.go index 4d1c7ca54b5..7a40f2c9f62 100644 --- a/pkg/registry/settings/podpreset/storage/storage.go +++ b/pkg/registry/settings/podpreset/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &settingsapi.PodPreset{} }, NewListFunc: func() runtime.Object { return &settingsapi.PodPresetList{} }, - PredicateFunc: podpreset.Matcher, DefaultQualifiedResource: settingsapi.Resource("podpresets"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("podpresets"), @@ -45,7 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { UpdateStrategy: podpreset.Strategy, DeleteStrategy: podpreset.Strategy, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: podpreset.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/settings/podpreset/strategy.go b/pkg/registry/settings/podpreset/strategy.go index 6eb0f94acd8..2d53ed16e68 100644 --- a/pkg/registry/settings/podpreset/strategy.go +++ b/pkg/registry/settings/podpreset/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package podpreset import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/settings" @@ -86,27 +80,3 @@ func (podPresetStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old func (podPresetStrategy) AllowUnconditionalUpdate() bool { return true } - -// SelectableFields returns a field set that represents the object. -func SelectableFields(pip *settings.PodPreset) fields.Set { - return generic.ObjectMetaFieldsSet(&pip.ObjectMeta, true) -} - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - pip, ok := obj.(*settings.PodPreset) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not a PodPreset.") - } - return labels.Set(pip.ObjectMeta.Labels), SelectableFields(pip), pip.Initializers != nil, nil -} - -// Matcher is the filter used by the generic etcd backend to watch events -// from etcd to clients of the apiserver only interested in specific labels/fields. -func Matcher(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} diff --git a/pkg/registry/storage/storageclass/BUILD b/pkg/registry/storage/storageclass/BUILD index c11ddcf4ddf..5bf50fad01f 100644 --- a/pkg/registry/storage/storageclass/BUILD +++ b/pkg/registry/storage/storageclass/BUILD @@ -19,13 +19,9 @@ go_library( "//pkg/api:go_default_library", "//pkg/apis/storage:go_default_library", "//pkg/apis/storage/validation:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/fields:go_default_library", - "//vendor/k8s.io/apimachinery/pkg/labels:go_default_library", "//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library", "//vendor/k8s.io/apimachinery/pkg/util/validation/field:go_default_library", "//vendor/k8s.io/apiserver/pkg/endpoints/request:go_default_library", - "//vendor/k8s.io/apiserver/pkg/registry/generic:go_default_library", - "//vendor/k8s.io/apiserver/pkg/storage:go_default_library", "//vendor/k8s.io/apiserver/pkg/storage/names:go_default_library", ], ) diff --git a/pkg/registry/storage/storageclass/storage/storage.go b/pkg/registry/storage/storageclass/storage/storage.go index 3dcb18a301f..25c1807e49f 100644 --- a/pkg/registry/storage/storageclass/storage/storage.go +++ b/pkg/registry/storage/storageclass/storage/storage.go @@ -37,7 +37,6 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { Copier: api.Scheme, NewFunc: func() runtime.Object { return &storageapi.StorageClass{} }, NewListFunc: func() runtime.Object { return &storageapi.StorageClassList{} }, - PredicateFunc: storageclass.MatchStorageClasses, DefaultQualifiedResource: storageapi.Resource("storageclasses"), WatchCacheSize: cachesize.GetWatchCacheSizeByResource("storageclass"), @@ -46,7 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { DeleteStrategy: storageclass.Strategy, ReturnDeletedObject: true, } - options := &generic.StoreOptions{RESTOptions: optsGetter, AttrFunc: storageclass.GetAttrs} + options := &generic.StoreOptions{RESTOptions: optsGetter} if err := store.CompleteWithOptions(options); err != nil { panic(err) // TODO: Propagate error up } diff --git a/pkg/registry/storage/storageclass/strategy.go b/pkg/registry/storage/storageclass/strategy.go index 73aa7d2b37f..216cc7ddc26 100644 --- a/pkg/registry/storage/storageclass/strategy.go +++ b/pkg/registry/storage/storageclass/strategy.go @@ -17,15 +17,9 @@ limitations under the License. package storageclass import ( - "fmt" - - "k8s.io/apimachinery/pkg/fields" - "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation/field" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" - "k8s.io/apiserver/pkg/registry/generic" - apistorage "k8s.io/apiserver/pkg/storage" "k8s.io/apiserver/pkg/storage/names" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/storage" @@ -78,26 +72,3 @@ func (storageClassStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, o func (storageClassStrategy) AllowUnconditionalUpdate() bool { return true } - -// GetAttrs returns labels and fields of a given object for filtering purposes. -func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, bool, error) { - cls, ok := obj.(*storage.StorageClass) - if !ok { - return nil, nil, false, fmt.Errorf("given object is not of type StorageClass") - } - return labels.Set(cls.ObjectMeta.Labels), StorageClassToSelectableFields(cls), cls.Initializers != nil, nil -} - -// MatchStorageClass returns a generic matcher for a given label and field selector. -func MatchStorageClasses(label labels.Selector, field fields.Selector) apistorage.SelectionPredicate { - return apistorage.SelectionPredicate{ - Label: label, - Field: field, - GetAttrs: GetAttrs, - } -} - -// StorageClassToSelectableFields returns a label set that represents the object -func StorageClassToSelectableFields(storageClass *storage.StorageClass) fields.Set { - return generic.ObjectMetaFieldsSet(&storageClass.ObjectMeta, false) -}