From b8142896a7e9cf2039ff38d1ca8603c04ed1df5e Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Thu, 2 Feb 2017 13:14:30 +0100 Subject: [PATCH] pkg/genericapiserver: cut off pkg/registry/cachesize dependency --- .../pkg/registry/apiservice/etcd/etcd.go | 2 ++ federation/registry/cluster/etcd/etcd.go | 2 ++ .../registry/generic/registry/store.go | 14 ++++++++++++-- pkg/registry/apps/petset/storage/storage.go | 2 ++ .../horizontalpodautoscaler/storage/storage.go | 2 ++ pkg/registry/batch/cronjob/storage/storage.go | 2 ++ pkg/registry/batch/job/storage/storage.go | 2 ++ pkg/registry/cachesize/cachesize.go | 11 +++++------ .../certificates/certificates/storage/storage.go | 2 ++ pkg/registry/core/configmap/storage/storage.go | 2 ++ pkg/registry/core/endpoint/storage/storage.go | 2 ++ pkg/registry/core/event/storage/storage.go | 2 ++ pkg/registry/core/limitrange/storage/storage.go | 2 ++ pkg/registry/core/namespace/storage/storage.go | 2 ++ pkg/registry/core/node/storage/storage.go | 2 ++ .../core/persistentvolume/storage/storage.go | 2 ++ .../core/persistentvolumeclaim/storage/storage.go | 2 ++ pkg/registry/core/pod/storage/storage.go | 2 ++ pkg/registry/core/podtemplate/storage/storage.go | 2 ++ .../core/replicationcontroller/storage/storage.go | 2 ++ pkg/registry/core/resourcequota/storage/storage.go | 2 ++ pkg/registry/core/secret/storage/storage.go | 2 ++ pkg/registry/core/service/storage/storage.go | 2 ++ .../core/serviceaccount/storage/storage.go | 2 ++ .../extensions/daemonset/storage/storage.go | 2 ++ .../extensions/deployment/storage/storage.go | 2 ++ pkg/registry/extensions/ingress/storage/storage.go | 2 ++ .../extensions/networkpolicy/storage/storage.go | 2 ++ .../podsecuritypolicy/storage/storage.go | 2 ++ .../extensions/replicaset/storage/storage.go | 2 ++ .../thirdpartyresource/storage/storage.go | 2 ++ .../thirdpartyresourcedata/storage/storage.go | 2 ++ .../policy/poddisruptionbudget/storage/storage.go | 2 ++ pkg/registry/rbac/clusterrole/storage/storage.go | 2 ++ .../rbac/clusterrolebinding/storage/storage.go | 2 ++ pkg/registry/rbac/role/storage/storage.go | 2 ++ pkg/registry/rbac/rolebinding/storage/storage.go | 2 ++ .../storage/storageclass/storage/storage.go | 2 ++ 38 files changed, 89 insertions(+), 8 deletions(-) diff --git a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go index 63e99ffe32..4a8bf41348 100644 --- a/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go +++ b/cmd/kube-aggregator/pkg/registry/apiservice/etcd/etcd.go @@ -23,6 +23,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" ) // rest implements a RESTStorage for API services against etcd @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: apiservice.MatchAPIService, QualifiedResource: apiregistration.Resource("apiservices"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("apiservices"), CreateStrategy: apiservice.Strategy, UpdateStrategy: apiservice.Strategy, diff --git a/federation/registry/cluster/etcd/etcd.go b/federation/registry/cluster/etcd/etcd.go index b665fefc54..69647fdece 100644 --- a/federation/registry/cluster/etcd/etcd.go +++ b/federation/registry/cluster/etcd/etcd.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" ) type REST struct { @@ -55,6 +56,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: cluster.MatchCluster, QualifiedResource: federation.Resource("clusters"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("clusters"), CreateStrategy: cluster.Strategy, UpdateStrategy: cluster.Strategy, diff --git a/pkg/genericapiserver/registry/generic/registry/store.go b/pkg/genericapiserver/registry/generic/registry/store.go index f2cc0be2f3..5f95681aee 100644 --- a/pkg/genericapiserver/registry/generic/registry/store.go +++ b/pkg/genericapiserver/registry/generic/registry/store.go @@ -39,12 +39,14 @@ import ( "k8s.io/apiserver/pkg/storage" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" - "k8s.io/kubernetes/pkg/registry/cachesize" storeerr "k8s.io/kubernetes/pkg/storage/errors" "github.com/golang/glog" ) +// defaultWatchCacheSize is the default size of a watch catch per resource in number of entries. +const DefaultWatchCacheSize = 100 + // ObjectFunc is a function to act on a given object. An error may be returned // if the hook cannot be completed. An ObjectFunc may transform the provided // object. @@ -161,6 +163,10 @@ type Store struct { Storage storage.Interface // Called to cleanup clients used by the underlying Storage; optional. DestroyFunc func() + // Maximum size of the watch history cached in memory, in number of entries. + // A zero value here means that a default is used. This value is ignored if + // Storage is non-nil. + WatchCacheSize int } // Note: the rest.StandardStorage interface aggregates the common REST verbs @@ -1117,10 +1123,14 @@ func (e *Store) CompleteWithOptions(options *generic.StoreOptions) error { e.EnableGarbageCollection = opts.EnableGarbageCollection if e.Storage == nil { + capacity := DefaultWatchCacheSize + if e.WatchCacheSize != 0 { + capacity = DefaultWatchCacheSize + } e.Storage, e.DestroyFunc = opts.Decorator( e.Copier, opts.StorageConfig, - cachesize.GetWatchCacheSizeByResource(cachesize.Resource(e.QualifiedResource.Resource)), + capacity, e.NewFunc(), prefix, keyFunc, diff --git a/pkg/registry/apps/petset/storage/storage.go b/pkg/registry/apps/petset/storage/storage.go index 919a976333..eded49cc02 100644 --- a/pkg/registry/apps/petset/storage/storage.go +++ b/pkg/registry/apps/petset/storage/storage.go @@ -26,6 +26,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/apps/petset" + "k8s.io/kubernetes/pkg/registry/cachesize" ) // rest implements a RESTStorage for replication controllers against etcd @@ -44,6 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: petset.MatchStatefulSet, QualifiedResource: appsapi.Resource("statefulsets"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("statefulsets"), CreateStrategy: petset.Strategy, UpdateStrategy: petset.Strategy, diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go b/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go index 105b1fdc91..bbbeb13c28 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/storage/storage.go @@ -26,6 +26,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler" + "k8s.io/kubernetes/pkg/registry/cachesize" ) type REST struct { @@ -43,6 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: horizontalpodautoscaler.MatchAutoscaler, QualifiedResource: autoscaling.Resource("horizontalpodautoscalers"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("horizontalpodautoscalers"), CreateStrategy: horizontalpodautoscaler.Strategy, UpdateStrategy: horizontalpodautoscaler.Strategy, diff --git a/pkg/registry/batch/cronjob/storage/storage.go b/pkg/registry/batch/cronjob/storage/storage.go index 2d38bd192a..e6b4dc5d6f 100644 --- a/pkg/registry/batch/cronjob/storage/storage.go +++ b/pkg/registry/batch/cronjob/storage/storage.go @@ -26,6 +26,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/batch/cronjob" + "k8s.io/kubernetes/pkg/registry/cachesize" ) // REST implements a RESTStorage for scheduled jobs against etcd @@ -44,6 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: cronjob.MatchCronJob, QualifiedResource: batch.Resource("cronjobs"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("cronjobs"), CreateStrategy: cronjob.Strategy, UpdateStrategy: cronjob.Strategy, diff --git a/pkg/registry/batch/job/storage/storage.go b/pkg/registry/batch/job/storage/storage.go index c349c18f56..88d497b2fa 100644 --- a/pkg/registry/batch/job/storage/storage.go +++ b/pkg/registry/batch/job/storage/storage.go @@ -26,6 +26,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/batch/job" + "k8s.io/kubernetes/pkg/registry/cachesize" ) // JobStorage includes dummy storage for Job. @@ -59,6 +60,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: job.MatchJob, QualifiedResource: batch.Resource("jobs"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("jobs"), CreateStrategy: job.Strategy, UpdateStrategy: job.Strategy, diff --git a/pkg/registry/cachesize/cachesize.go b/pkg/registry/cachesize/cachesize.go index 1b0ae583b1..ffd05cf3a3 100644 --- a/pkg/registry/cachesize/cachesize.go +++ b/pkg/registry/cachesize/cachesize.go @@ -23,6 +23,8 @@ import ( "strings" "github.com/golang/glog" + + "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" ) type Resource string @@ -60,9 +62,6 @@ const ( ServiceAccounts Resource = "serviceaccounts" Services Resource = "services" StorageClasses Resource = "storageclasses" - - // Default value of watch cache size for a resource if not specified. - defaultWatchCacheSize = 100 ) // TODO: This shouldn't be a global variable. @@ -112,11 +111,11 @@ func SetWatchCacheSizes(cacheSizes []string) { } } -func GetWatchCacheSizeByResource(resource Resource) int { // TODO this should use schema.GroupResource for lookups - if value, found := watchCacheSizes[resource]; found { +func GetWatchCacheSizeByResource(resource string) int { // TODO this should use schema.GroupResource for lookups + if value, found := watchCacheSizes[Resource(resource)]; found { return value } - return defaultWatchCacheSize + return registry.DefaultWatchCacheSize } func maxInt(a, b int) int { diff --git a/pkg/registry/certificates/certificates/storage/storage.go b/pkg/registry/certificates/certificates/storage/storage.go index 0559be933f..a24693c792 100644 --- a/pkg/registry/certificates/certificates/storage/storage.go +++ b/pkg/registry/certificates/certificates/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" csrregistry "k8s.io/kubernetes/pkg/registry/certificates/certificates" ) @@ -43,6 +44,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Approva }, PredicateFunc: csrregistry.Matcher, QualifiedResource: certificates.Resource("certificatesigningrequests"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("certificatesigningrequests"), CreateStrategy: csrregistry.Strategy, UpdateStrategy: csrregistry.Strategy, diff --git a/pkg/registry/core/configmap/storage/storage.go b/pkg/registry/core/configmap/storage/storage.go index 869bb72efa..b6f534b3b4 100644 --- a/pkg/registry/core/configmap/storage/storage.go +++ b/pkg/registry/core/configmap/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/configmap" ) @@ -40,6 +41,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: configmap.MatchConfigMap, QualifiedResource: api.Resource("configmaps"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("configmaps"), CreateStrategy: configmap.Strategy, UpdateStrategy: configmap.Strategy, diff --git a/pkg/registry/core/endpoint/storage/storage.go b/pkg/registry/core/endpoint/storage/storage.go index 56b00c46fa..63a25b6ec6 100644 --- a/pkg/registry/core/endpoint/storage/storage.go +++ b/pkg/registry/core/endpoint/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/endpoint" ) @@ -39,6 +40,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: endpoint.MatchEndpoints, QualifiedResource: api.Resource("endpoints"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("endpoints"), CreateStrategy: endpoint.Strategy, UpdateStrategy: endpoint.Strategy, diff --git a/pkg/registry/core/event/storage/storage.go b/pkg/registry/core/event/storage/storage.go index dcf45bc465..946ee8a2da 100644 --- a/pkg/registry/core/event/storage/storage.go +++ b/pkg/registry/core/event/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/event" ) @@ -52,6 +53,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter, ttl uint64) *REST { return ttl, nil }, QualifiedResource: resource, + WatchCacheSize: cachesize.GetWatchCacheSizeByResource(resource.Resource), CreateStrategy: event.Strategy, UpdateStrategy: event.Strategy, diff --git a/pkg/registry/core/limitrange/storage/storage.go b/pkg/registry/core/limitrange/storage/storage.go index 5545dd7f95..afb4632860 100644 --- a/pkg/registry/core/limitrange/storage/storage.go +++ b/pkg/registry/core/limitrange/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/limitrange" ) @@ -39,6 +40,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: limitrange.MatchLimitRange, QualifiedResource: api.Resource("limitranges"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("limitranges"), CreateStrategy: limitrange.Strategy, UpdateStrategy: limitrange.Strategy, diff --git a/pkg/registry/core/namespace/storage/storage.go b/pkg/registry/core/namespace/storage/storage.go index 768f5d2a03..a169b6ad47 100644 --- a/pkg/registry/core/namespace/storage/storage.go +++ b/pkg/registry/core/namespace/storage/storage.go @@ -28,6 +28,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/namespace" storageerr "k8s.io/kubernetes/pkg/storage/errors" ) @@ -59,6 +60,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Finaliz }, PredicateFunc: namespace.MatchNamespace, QualifiedResource: api.Resource("namespaces"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("namespaces"), CreateStrategy: namespace.Strategy, UpdateStrategy: namespace.Strategy, diff --git a/pkg/registry/core/node/storage/storage.go b/pkg/registry/core/node/storage/storage.go index 2d6e8f78f5..06b802549e 100644 --- a/pkg/registry/core/node/storage/storage.go +++ b/pkg/registry/core/node/storage/storage.go @@ -30,6 +30,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/kubelet/client" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/node" noderest "k8s.io/kubernetes/pkg/registry/core/node/rest" ) @@ -79,6 +80,7 @@ func NewStorage(optsGetter generic.RESTOptionsGetter, kubeletClientConfig client }, PredicateFunc: node.MatchNode, QualifiedResource: api.Resource("nodes"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("nodes"), CreateStrategy: node.Strategy, UpdateStrategy: node.Strategy, diff --git a/pkg/registry/core/persistentvolume/storage/storage.go b/pkg/registry/core/persistentvolume/storage/storage.go index 2727cd984e..f739244c17 100644 --- a/pkg/registry/core/persistentvolume/storage/storage.go +++ b/pkg/registry/core/persistentvolume/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/persistentvolume" ) @@ -42,6 +43,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: persistentvolume.MatchPersistentVolumes, QualifiedResource: api.Resource("persistentvolumes"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("persistentvolumes"), CreateStrategy: persistentvolume.Strategy, UpdateStrategy: persistentvolume.Strategy, diff --git a/pkg/registry/core/persistentvolumeclaim/storage/storage.go b/pkg/registry/core/persistentvolumeclaim/storage/storage.go index c83bc370c1..02e0007fde 100644 --- a/pkg/registry/core/persistentvolumeclaim/storage/storage.go +++ b/pkg/registry/core/persistentvolumeclaim/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/persistentvolumeclaim" ) @@ -42,6 +43,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: persistentvolumeclaim.MatchPersistentVolumeClaim, QualifiedResource: api.Resource("persistentvolumeclaims"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("persistentvolumeclaims"), CreateStrategy: persistentvolumeclaim.Strategy, UpdateStrategy: persistentvolumeclaim.Strategy, diff --git a/pkg/registry/core/pod/storage/storage.go b/pkg/registry/core/pod/storage/storage.go index 07e7ef0d5f..1fcad70698 100644 --- a/pkg/registry/core/pod/storage/storage.go +++ b/pkg/registry/core/pod/storage/storage.go @@ -33,6 +33,7 @@ import ( genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/kubelet/client" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/pod" podrest "k8s.io/kubernetes/pkg/registry/core/pod/rest" storeerr "k8s.io/kubernetes/pkg/storage/errors" @@ -68,6 +69,7 @@ func NewStorage(optsGetter generic.RESTOptionsGetter, k client.ConnectionInfoGet }, PredicateFunc: pod.MatchPod, QualifiedResource: api.Resource("pods"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("pods"), CreateStrategy: pod.Strategy, UpdateStrategy: pod.Strategy, diff --git a/pkg/registry/core/podtemplate/storage/storage.go b/pkg/registry/core/podtemplate/storage/storage.go index 601ed603aa..407e35a760 100644 --- a/pkg/registry/core/podtemplate/storage/storage.go +++ b/pkg/registry/core/podtemplate/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/podtemplate" ) @@ -39,6 +40,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: podtemplate.MatchPodTemplate, QualifiedResource: api.Resource("podtemplates"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("podtemplates"), CreateStrategy: podtemplate.Strategy, UpdateStrategy: podtemplate.Strategy, diff --git a/pkg/registry/core/replicationcontroller/storage/storage.go b/pkg/registry/core/replicationcontroller/storage/storage.go index e438ddb40f..54ac4a2db2 100644 --- a/pkg/registry/core/replicationcontroller/storage/storage.go +++ b/pkg/registry/core/replicationcontroller/storage/storage.go @@ -32,6 +32,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/replicationcontroller" ) @@ -68,6 +69,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: replicationcontroller.MatchController, QualifiedResource: api.Resource("replicationcontrollers"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("replicationcontrollers"), CreateStrategy: replicationcontroller.Strategy, UpdateStrategy: replicationcontroller.Strategy, diff --git a/pkg/registry/core/resourcequota/storage/storage.go b/pkg/registry/core/resourcequota/storage/storage.go index dd4ea2e9ea..e5bc87006d 100644 --- a/pkg/registry/core/resourcequota/storage/storage.go +++ b/pkg/registry/core/resourcequota/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/resourcequota" ) @@ -42,6 +43,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: resourcequota.MatchResourceQuota, QualifiedResource: api.Resource("resourcequotas"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("resourcequotas"), CreateStrategy: resourcequota.Strategy, UpdateStrategy: resourcequota.Strategy, diff --git a/pkg/registry/core/secret/storage/storage.go b/pkg/registry/core/secret/storage/storage.go index 64726fdc69..df295ad34f 100644 --- a/pkg/registry/core/secret/storage/storage.go +++ b/pkg/registry/core/secret/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/secret" ) @@ -39,6 +40,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: secret.Matcher, QualifiedResource: api.Resource("secrets"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("secrets"), CreateStrategy: secret.Strategy, UpdateStrategy: secret.Strategy, diff --git a/pkg/registry/core/service/storage/storage.go b/pkg/registry/core/service/storage/storage.go index 36affbff93..f48c493778 100644 --- a/pkg/registry/core/service/storage/storage.go +++ b/pkg/registry/core/service/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/service" ) @@ -42,6 +43,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: service.MatchServices, QualifiedResource: api.Resource("services"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("services"), CreateStrategy: service.Strategy, UpdateStrategy: service.Strategy, diff --git a/pkg/registry/core/serviceaccount/storage/storage.go b/pkg/registry/core/serviceaccount/storage/storage.go index 184fc0b71b..8a01952cac 100644 --- a/pkg/registry/core/serviceaccount/storage/storage.go +++ b/pkg/registry/core/serviceaccount/storage/storage.go @@ -21,6 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/serviceaccount" ) @@ -39,6 +40,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: serviceaccount.Matcher, QualifiedResource: api.Resource("serviceaccounts"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("serviceaccounts"), CreateStrategy: serviceaccount.Strategy, UpdateStrategy: serviceaccount.Strategy, diff --git a/pkg/registry/extensions/daemonset/storage/storage.go b/pkg/registry/extensions/daemonset/storage/storage.go index 64797a99d5..a3c78a8aca 100644 --- a/pkg/registry/extensions/daemonset/storage/storage.go +++ b/pkg/registry/extensions/daemonset/storage/storage.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/daemonset" ) @@ -44,6 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: daemonset.MatchDaemonSet, QualifiedResource: extensions.Resource("daemonsets"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("daemonsets"), CreateStrategy: daemonset.Strategy, UpdateStrategy: daemonset.Strategy, diff --git a/pkg/registry/extensions/deployment/storage/storage.go b/pkg/registry/extensions/deployment/storage/storage.go index d087324f94..075804e271 100644 --- a/pkg/registry/extensions/deployment/storage/storage.go +++ b/pkg/registry/extensions/deployment/storage/storage.go @@ -31,6 +31,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/deployment" storeerr "k8s.io/kubernetes/pkg/storage/errors" ) @@ -70,6 +71,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST, *Rollbac }, PredicateFunc: deployment.MatchDeployment, QualifiedResource: extensions.Resource("deployments"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("deployments"), CreateStrategy: deployment.Strategy, UpdateStrategy: deployment.Strategy, diff --git a/pkg/registry/extensions/ingress/storage/storage.go b/pkg/registry/extensions/ingress/storage/storage.go index 5704134468..9d3e4b06db 100644 --- a/pkg/registry/extensions/ingress/storage/storage.go +++ b/pkg/registry/extensions/ingress/storage/storage.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/ingress" ) @@ -44,6 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: ingress.MatchIngress, QualifiedResource: extensions.Resource("ingresses"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("ingresses"), CreateStrategy: ingress.Strategy, UpdateStrategy: ingress.Strategy, diff --git a/pkg/registry/extensions/networkpolicy/storage/storage.go b/pkg/registry/extensions/networkpolicy/storage/storage.go index 44518cf498..7da15b040f 100644 --- a/pkg/registry/extensions/networkpolicy/storage/storage.go +++ b/pkg/registry/extensions/networkpolicy/storage/storage.go @@ -22,6 +22,7 @@ import ( extensionsapi "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/networkpolicy" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: networkpolicy.MatchNetworkPolicy, QualifiedResource: extensionsapi.Resource("networkpolicies"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("networkpolicies"), CreateStrategy: networkpolicy.Strategy, UpdateStrategy: networkpolicy.Strategy, diff --git a/pkg/registry/extensions/podsecuritypolicy/storage/storage.go b/pkg/registry/extensions/podsecuritypolicy/storage/storage.go index 16e08e25c4..78ceac9d3b 100644 --- a/pkg/registry/extensions/podsecuritypolicy/storage/storage.go +++ b/pkg/registry/extensions/podsecuritypolicy/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/podsecuritypolicy" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: podsecuritypolicy.MatchPodSecurityPolicy, QualifiedResource: extensions.Resource("podsecuritypolicies"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("podsecuritypolicies"), CreateStrategy: podsecuritypolicy.Strategy, UpdateStrategy: podsecuritypolicy.Strategy, diff --git a/pkg/registry/extensions/replicaset/storage/storage.go b/pkg/registry/extensions/replicaset/storage/storage.go index cce09db1d5..6b3128a8a8 100644 --- a/pkg/registry/extensions/replicaset/storage/storage.go +++ b/pkg/registry/extensions/replicaset/storage/storage.go @@ -31,6 +31,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/replicaset" ) @@ -67,6 +68,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: replicaset.MatchReplicaSet, QualifiedResource: extensions.Resource("replicasets"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("replicasets"), CreateStrategy: replicaset.Strategy, UpdateStrategy: replicaset.Strategy, diff --git a/pkg/registry/extensions/thirdpartyresource/storage/storage.go b/pkg/registry/extensions/thirdpartyresource/storage/storage.go index c8cd1af4b5..4b6d501001 100644 --- a/pkg/registry/extensions/thirdpartyresource/storage/storage.go +++ b/pkg/registry/extensions/thirdpartyresource/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresource" ) @@ -50,6 +51,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: thirdpartyresource.Matcher, QualifiedResource: resource, + WatchCacheSize: cachesize.GetWatchCacheSizeByResource(resource.Resource), CreateStrategy: thirdpartyresource.Strategy, UpdateStrategy: thirdpartyresource.Strategy, diff --git a/pkg/registry/extensions/thirdpartyresourcedata/storage/storage.go b/pkg/registry/extensions/thirdpartyresourcedata/storage/storage.go index 67e2c7c0ee..926ce3d500 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/storage/storage.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/storage/storage.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" ) @@ -54,6 +55,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter, group, kind string) *REST { }, PredicateFunc: thirdpartyresourcedata.Matcher, QualifiedResource: resource, + WatchCacheSize: cachesize.GetWatchCacheSizeByResource(resource.Resource), CreateStrategy: thirdpartyresourcedata.Strategy, UpdateStrategy: thirdpartyresourcedata.Strategy, diff --git a/pkg/registry/policy/poddisruptionbudget/storage/storage.go b/pkg/registry/policy/poddisruptionbudget/storage/storage.go index e7137b6ece..9c2270aea7 100644 --- a/pkg/registry/policy/poddisruptionbudget/storage/storage.go +++ b/pkg/registry/policy/poddisruptionbudget/storage/storage.go @@ -25,6 +25,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/policy/poddisruptionbudget" ) @@ -44,6 +45,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) (*REST, *StatusREST) { }, PredicateFunc: poddisruptionbudget.MatchPodDisruptionBudget, QualifiedResource: policyapi.Resource("poddisruptionbudgets"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("poddisruptionbudgets"), CreateStrategy: poddisruptionbudget.Strategy, UpdateStrategy: poddisruptionbudget.Strategy, diff --git a/pkg/registry/rbac/clusterrole/storage/storage.go b/pkg/registry/rbac/clusterrole/storage/storage.go index e1cf357991..30453c0e25 100644 --- a/pkg/registry/rbac/clusterrole/storage/storage.go +++ b/pkg/registry/rbac/clusterrole/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: clusterrole.Matcher, QualifiedResource: rbac.Resource("clusterroles"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("clusterroles"), CreateStrategy: clusterrole.Strategy, UpdateStrategy: clusterrole.Strategy, diff --git a/pkg/registry/rbac/clusterrolebinding/storage/storage.go b/pkg/registry/rbac/clusterrolebinding/storage/storage.go index b134339bfc..3fbbe2fd36 100644 --- a/pkg/registry/rbac/clusterrolebinding/storage/storage.go +++ b/pkg/registry/rbac/clusterrolebinding/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: clusterrolebinding.Matcher, QualifiedResource: rbac.Resource("clusterrolebindings"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("clusterrolebindings"), CreateStrategy: clusterrolebinding.Strategy, UpdateStrategy: clusterrolebinding.Strategy, diff --git a/pkg/registry/rbac/role/storage/storage.go b/pkg/registry/rbac/role/storage/storage.go index 4c54fc489c..dd181a14b9 100644 --- a/pkg/registry/rbac/role/storage/storage.go +++ b/pkg/registry/rbac/role/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/rbac/role" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: role.Matcher, QualifiedResource: rbac.Resource("roles"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("roles"), CreateStrategy: role.Strategy, UpdateStrategy: role.Strategy, diff --git a/pkg/registry/rbac/rolebinding/storage/storage.go b/pkg/registry/rbac/rolebinding/storage/storage.go index c68fbaf8c3..20df712c6b 100644 --- a/pkg/registry/rbac/rolebinding/storage/storage.go +++ b/pkg/registry/rbac/rolebinding/storage/storage.go @@ -22,6 +22,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" ) @@ -41,6 +42,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: rolebinding.Matcher, QualifiedResource: rbac.Resource("rolebindings"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("rolebindings"), CreateStrategy: rolebinding.Strategy, UpdateStrategy: rolebinding.Strategy, diff --git a/pkg/registry/storage/storageclass/storage/storage.go b/pkg/registry/storage/storageclass/storage/storage.go index 9c96dd7362..0c7cf8a8df 100644 --- a/pkg/registry/storage/storageclass/storage/storage.go +++ b/pkg/registry/storage/storageclass/storage/storage.go @@ -22,6 +22,7 @@ import ( storageapi "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" genericregistry "k8s.io/kubernetes/pkg/genericapiserver/registry/generic/registry" + "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/storage/storageclass" ) @@ -40,6 +41,7 @@ func NewREST(optsGetter generic.RESTOptionsGetter) *REST { }, PredicateFunc: storageclass.MatchStorageClasses, QualifiedResource: storageapi.Resource("storageclasses"), + WatchCacheSize: cachesize.GetWatchCacheSizeByResource("storageclass"), CreateStrategy: storageclass.Strategy, UpdateStrategy: storageclass.Strategy,