mirror of https://github.com/k3s-io/k3s
Merge pull request #31704 from timothysc/etcd3_v3client_leak_fix
Automatic merge from submit-queue Etcd3 v3client + grpc client leak fix This re-enables the client and plumbs through the destroyFunc to cleanup clients. Fix for https://github.com/kubernetes/kubernetes/issues/31262pull/6/head
commit
96d971fed3
|
@ -45,7 +45,7 @@ import (
|
||||||
|
|
||||||
// setUp is a convience function for setting up for (most) tests.
|
// setUp is a convience function for setting up for (most) tests.
|
||||||
func setUp(t *testing.T) (GenericAPIServer, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
|
func setUp(t *testing.T) (GenericAPIServer, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
|
||||||
etcdServer := etcdtesting.NewEtcdTestClientServer(t)
|
etcdServer, _ := etcdtesting.NewUnsecuredEtcd3TestClientServer(t)
|
||||||
|
|
||||||
genericapiserver := GenericAPIServer{}
|
genericapiserver := GenericAPIServer{}
|
||||||
config := Config{}
|
config := Config{}
|
||||||
|
|
|
@ -60,7 +60,6 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/storage"
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
||||||
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
||||||
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
|
||||||
"k8s.io/kubernetes/pkg/util/intstr"
|
"k8s.io/kubernetes/pkg/util/intstr"
|
||||||
utilnet "k8s.io/kubernetes/pkg/util/net"
|
utilnet "k8s.io/kubernetes/pkg/util/net"
|
||||||
"k8s.io/kubernetes/pkg/util/sets"
|
"k8s.io/kubernetes/pkg/util/sets"
|
||||||
|
@ -75,7 +74,7 @@ import (
|
||||||
|
|
||||||
// setUp is a convience function for setting up for (most) tests.
|
// setUp is a convience function for setting up for (most) tests.
|
||||||
func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
|
func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.Assertions) {
|
||||||
server := etcdtesting.NewUnsecuredEtcdTestClientServer(t)
|
server, storageConfig := etcdtesting.NewUnsecuredEtcd3TestClientServer(t)
|
||||||
|
|
||||||
master := &Master{
|
master := &Master{
|
||||||
GenericAPIServer: &genericapiserver.GenericAPIServer{},
|
GenericAPIServer: &genericapiserver.GenericAPIServer{},
|
||||||
|
@ -84,16 +83,6 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.
|
||||||
Config: &genericapiserver.Config{},
|
Config: &genericapiserver.Config{},
|
||||||
}
|
}
|
||||||
|
|
||||||
storageConfig := storagebackend.Config{
|
|
||||||
Prefix: etcdtest.PathPrefix(),
|
|
||||||
CAFile: server.CAFile,
|
|
||||||
KeyFile: server.KeyFile,
|
|
||||||
CertFile: server.CertFile,
|
|
||||||
}
|
|
||||||
for _, url := range server.ClientURLs {
|
|
||||||
storageConfig.ServerList = append(storageConfig.ServerList, url.String())
|
|
||||||
}
|
|
||||||
|
|
||||||
resourceEncoding := genericapiserver.NewDefaultResourceEncodingConfig()
|
resourceEncoding := genericapiserver.NewDefaultResourceEncodingConfig()
|
||||||
resourceEncoding.SetVersionEncoding(api.GroupName, *testapi.Default.GroupVersion(), unversioned.GroupVersion{Group: api.GroupName, Version: runtime.APIVersionInternal})
|
resourceEncoding.SetVersionEncoding(api.GroupName, *testapi.Default.GroupVersion(), unversioned.GroupVersion{Group: api.GroupName, Version: runtime.APIVersionInternal})
|
||||||
resourceEncoding.SetVersionEncoding(autoscaling.GroupName, *testapi.Autoscaling.GroupVersion(), unversioned.GroupVersion{Group: autoscaling.GroupName, Version: runtime.APIVersionInternal})
|
resourceEncoding.SetVersionEncoding(autoscaling.GroupName, *testapi.Autoscaling.GroupVersion(), unversioned.GroupVersion{Group: autoscaling.GroupName, Version: runtime.APIVersionInternal})
|
||||||
|
@ -102,7 +91,7 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert.
|
||||||
resourceEncoding.SetVersionEncoding(extensions.GroupName, *testapi.Extensions.GroupVersion(), unversioned.GroupVersion{Group: extensions.GroupName, Version: runtime.APIVersionInternal})
|
resourceEncoding.SetVersionEncoding(extensions.GroupName, *testapi.Extensions.GroupVersion(), unversioned.GroupVersion{Group: extensions.GroupName, Version: runtime.APIVersionInternal})
|
||||||
resourceEncoding.SetVersionEncoding(rbac.GroupName, *testapi.Rbac.GroupVersion(), unversioned.GroupVersion{Group: rbac.GroupName, Version: runtime.APIVersionInternal})
|
resourceEncoding.SetVersionEncoding(rbac.GroupName, *testapi.Rbac.GroupVersion(), unversioned.GroupVersion{Group: rbac.GroupName, Version: runtime.APIVersionInternal})
|
||||||
resourceEncoding.SetVersionEncoding(certificates.GroupName, *testapi.Certificates.GroupVersion(), unversioned.GroupVersion{Group: certificates.GroupName, Version: runtime.APIVersionInternal})
|
resourceEncoding.SetVersionEncoding(certificates.GroupName, *testapi.Certificates.GroupVersion(), unversioned.GroupVersion{Group: certificates.GroupName, Version: runtime.APIVersionInternal})
|
||||||
storageFactory := genericapiserver.NewDefaultStorageFactory(storageConfig, testapi.StorageMediaType(), api.Codecs, resourceEncoding, DefaultAPIResourceConfigSource())
|
storageFactory := genericapiserver.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), api.Codecs, resourceEncoding, DefaultAPIResourceConfigSource())
|
||||||
|
|
||||||
config.StorageFactory = storageFactory
|
config.StorageFactory = storageFactory
|
||||||
config.APIResourceConfigSource = DefaultAPIResourceConfigSource()
|
config.APIResourceConfigSource = DefaultAPIResourceConfigSource()
|
||||||
|
|
|
@ -40,7 +40,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *ApprovalREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &certificates.CertificateSigningRequestList{} }
|
newListFunc := func() runtime.Object { return &certificates.CertificateSigningRequestList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.CertificateSigningRequests),
|
cachesize.GetWatchCacheSizeByResource(cachesize.CertificateSigningRequests),
|
||||||
&certificates.CertificateSigningRequest{},
|
&certificates.CertificateSigningRequest{},
|
||||||
|
@ -73,6 +73,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *ApprovalREST) {
|
||||||
DeleteStrategy: csrregistry.Strategy,
|
DeleteStrategy: csrregistry.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
// Subresources use the same store and creation strategy, which only
|
// Subresources use the same store and creation strategy, which only
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &rbac.ClusterRoleList{} }
|
newListFunc := func() runtime.Object { return &rbac.ClusterRoleList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ClusterRoles),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ClusterRoles),
|
||||||
&rbac.ClusterRole{},
|
&rbac.ClusterRole{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: clusterrole.Strategy,
|
DeleteStrategy: clusterrole.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &rbac.ClusterRoleBindingList{} }
|
newListFunc := func() runtime.Object { return &rbac.ClusterRoleBindingList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ClusterRoleBindings),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ClusterRoleBindings),
|
||||||
&rbac.ClusterRoleBinding{},
|
&rbac.ClusterRoleBinding{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: clusterrolebinding.Strategy,
|
DeleteStrategy: clusterrolebinding.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.ConfigMapList{} }
|
newListFunc := func() runtime.Object { return &api.ConfigMapList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ConfigMaps),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ConfigMaps),
|
||||||
&api.ConfigMap{},
|
&api.ConfigMap{},
|
||||||
|
@ -82,6 +82,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: configmap.Strategy,
|
DeleteStrategy: configmap.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -53,6 +53,7 @@ func validNewConfigMap() *api.ConfigMap {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
|
|
||||||
validConfigMap := validNewConfigMap()
|
validConfigMap := validNewConfigMap()
|
||||||
|
@ -80,6 +81,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -102,6 +104,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewConfigMap())
|
test.TestDelete(validNewConfigMap())
|
||||||
}
|
}
|
||||||
|
@ -109,6 +112,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewConfigMap())
|
test.TestGet(validNewConfigMap())
|
||||||
}
|
}
|
||||||
|
@ -116,6 +120,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewConfigMap())
|
test.TestList(validNewConfigMap())
|
||||||
}
|
}
|
||||||
|
@ -123,6 +128,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewConfigMap(),
|
validNewConfigMap(),
|
||||||
|
|
|
@ -62,7 +62,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.ReplicationControllerList{} }
|
newListFunc := func() runtime.Object { return &api.ReplicationControllerList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Controllers),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Controllers),
|
||||||
&api.ReplicationController{},
|
&api.ReplicationController{},
|
||||||
|
@ -105,6 +105,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: controller.Strategy,
|
DeleteStrategy: controller.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = controller.StatusStrategy
|
statusStore.UpdateStrategy = controller.StatusStrategy
|
||||||
|
|
|
@ -88,6 +88,7 @@ var validController = validNewController()
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
controller := validNewController()
|
controller := validNewController()
|
||||||
controller.ObjectMeta = api.ObjectMeta{}
|
controller.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -108,6 +109,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -135,6 +137,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
test.TestDelete(validNewController())
|
test.TestDelete(validNewController())
|
||||||
}
|
}
|
||||||
|
@ -142,6 +145,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGenerationNumber(t *testing.T) {
|
func TestGenerationNumber(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
modifiedSno := *validNewController()
|
modifiedSno := *validNewController()
|
||||||
modifiedSno.Generation = 100
|
modifiedSno.Generation = 100
|
||||||
modifiedSno.Status.ObservedGeneration = 10
|
modifiedSno.Status.ObservedGeneration = 10
|
||||||
|
@ -192,6 +196,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
test.TestGet(validNewController())
|
test.TestGet(validNewController())
|
||||||
}
|
}
|
||||||
|
@ -199,6 +204,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
test.TestList(validNewController())
|
test.TestList(validNewController())
|
||||||
}
|
}
|
||||||
|
@ -206,6 +212,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Controller.Store)
|
test := registrytest.New(t, storage.Controller.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validController,
|
validController,
|
||||||
|
@ -240,6 +247,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestScaleGet(t *testing.T) {
|
func TestScaleGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
|
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
rc, err := createController(storage.Controller, *validController, t)
|
rc, err := createController(storage.Controller, *validController, t)
|
||||||
|
@ -276,6 +284,7 @@ func TestScaleGet(t *testing.T) {
|
||||||
func TestScaleUpdate(t *testing.T) {
|
func TestScaleUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Controller.Store.DestroyFunc()
|
||||||
|
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
rc, err := createController(storage.Controller, *validController, t)
|
rc, err := createController(storage.Controller, *validController, t)
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensions.DaemonSetList{} }
|
newListFunc := func() runtime.Object { return &extensions.DaemonSetList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Daemonsets),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Daemonsets),
|
||||||
&extensions.DaemonSet{},
|
&extensions.DaemonSet{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: daemonset.Strategy,
|
DeleteStrategy: daemonset.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = daemonset.StatusStrategy
|
statusStore.UpdateStrategy = daemonset.StatusStrategy
|
||||||
|
|
|
@ -70,6 +70,7 @@ var validDaemonSet = newValidDaemonSet()
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
ds := newValidDaemonSet()
|
ds := newValidDaemonSet()
|
||||||
ds.ObjectMeta = api.ObjectMeta{}
|
ds.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -96,6 +97,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -124,6 +126,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(newValidDaemonSet())
|
test.TestDelete(newValidDaemonSet())
|
||||||
}
|
}
|
||||||
|
@ -131,6 +134,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(newValidDaemonSet())
|
test.TestGet(newValidDaemonSet())
|
||||||
}
|
}
|
||||||
|
@ -138,6 +142,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(newValidDaemonSet())
|
test.TestList(newValidDaemonSet())
|
||||||
}
|
}
|
||||||
|
@ -145,6 +150,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validDaemonSet,
|
validDaemonSet,
|
||||||
|
|
|
@ -62,7 +62,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *RollbackREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensions.DeploymentList{} }
|
newListFunc := func() runtime.Object { return &extensions.DeploymentList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Deployments),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Deployments),
|
||||||
&extensions.Deployment{},
|
&extensions.Deployment{},
|
||||||
|
@ -103,6 +103,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *RollbackREST) {
|
||||||
DeleteStrategy: deployment.Strategy,
|
DeleteStrategy: deployment.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = deployment.StatusStrategy
|
statusStore.UpdateStrategy = deployment.StatusStrategy
|
||||||
|
|
|
@ -93,6 +93,7 @@ var validDeployment = *validNewDeployment()
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
deployment := validNewDeployment()
|
deployment := validNewDeployment()
|
||||||
deployment.ObjectMeta = api.ObjectMeta{}
|
deployment.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -112,6 +113,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -144,6 +146,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
test.TestDelete(validNewDeployment())
|
test.TestDelete(validNewDeployment())
|
||||||
}
|
}
|
||||||
|
@ -151,6 +154,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
test.TestGet(validNewDeployment())
|
test.TestGet(validNewDeployment())
|
||||||
}
|
}
|
||||||
|
@ -158,6 +162,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
test.TestList(validNewDeployment())
|
test.TestList(validNewDeployment())
|
||||||
}
|
}
|
||||||
|
@ -165,6 +170,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Deployment.Store)
|
test := registrytest.New(t, storage.Deployment.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewDeployment(),
|
validNewDeployment(),
|
||||||
|
@ -190,7 +196,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestScaleGet(t *testing.T) {
|
func TestScaleGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
var deployment extensions.Deployment
|
var deployment extensions.Deployment
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
||||||
|
@ -227,7 +233,7 @@ func TestScaleGet(t *testing.T) {
|
||||||
func TestScaleUpdate(t *testing.T) {
|
func TestScaleUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
var deployment extensions.Deployment
|
var deployment extensions.Deployment
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
||||||
|
@ -265,7 +271,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
func TestStatusUpdate(t *testing.T) {
|
func TestStatusUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
key := etcdtest.AddPrefix("/deployments/" + namespace + "/" + name)
|
||||||
if err := storage.Deployment.Storage.Create(ctx, key, &validDeployment, nil, 0); err != nil {
|
if err := storage.Deployment.Storage.Create(ctx, key, &validDeployment, nil, 0); err != nil {
|
||||||
|
@ -348,6 +354,7 @@ func TestEtcdCreateDeploymentRollback(t *testing.T) {
|
||||||
t.Errorf("%s: expected: %v, got: %v", k, *d.(*extensions.Deployment).Spec.RollbackTo, test.rollback.RollbackTo)
|
t.Errorf("%s: expected: %v, got: %v", k, *d.(*extensions.Deployment).Spec.RollbackTo, test.rollback.RollbackTo)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
storage.Deployment.Store.DestroyFunc()
|
||||||
server.Terminate(t)
|
server.Terminate(t)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -357,6 +364,7 @@ func TestEtcdCreateDeploymentRollback(t *testing.T) {
|
||||||
func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) {
|
func TestEtcdCreateDeploymentRollbackNoDeployment(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Deployment.Store.DestroyFunc()
|
||||||
rollbackStorage := storage.Rollback
|
rollbackStorage := storage.Rollback
|
||||||
ctx := api.WithNamespace(api.NewContext(), namespace)
|
ctx := api.WithNamespace(api.NewContext(), namespace)
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.EndpointsList{} }
|
newListFunc := func() runtime.Object { return &api.EndpointsList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Endpoints),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Endpoints),
|
||||||
&api.Endpoints{},
|
&api.Endpoints{},
|
||||||
|
@ -66,6 +66,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: endpoint.Strategy,
|
DeleteStrategy: endpoint.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,6 +60,7 @@ func validChangedEndpoints() *api.Endpoints {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
endpoints := validNewEndpoints()
|
endpoints := validNewEndpoints()
|
||||||
endpoints.ObjectMeta = api.ObjectMeta{}
|
endpoints.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -76,6 +77,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -95,6 +97,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewEndpoints())
|
test.TestDelete(validNewEndpoints())
|
||||||
}
|
}
|
||||||
|
@ -102,6 +105,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewEndpoints())
|
test.TestGet(validNewEndpoints())
|
||||||
}
|
}
|
||||||
|
@ -109,6 +113,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewEndpoints())
|
test.TestList(validNewEndpoints())
|
||||||
}
|
}
|
||||||
|
@ -116,6 +121,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewEndpoints(),
|
validNewEndpoints(),
|
||||||
|
|
|
@ -34,7 +34,7 @@ func NewREST(opts generic.RESTOptions, ttl uint64) *REST {
|
||||||
|
|
||||||
// We explicitly do NOT do any decoration here - switching on Cacher
|
// We explicitly do NOT do any decoration here - switching on Cacher
|
||||||
// for events will lead to too high memory consumption.
|
// for events will lead to too high memory consumption.
|
||||||
storageInterface, _ := generic.NewRawStorage(opts.StorageConfig)
|
storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig)
|
||||||
|
|
||||||
store := ®istry.Store{
|
store := ®istry.Store{
|
||||||
NewFunc: func() runtime.Object { return &api.Event{} },
|
NewFunc: func() runtime.Object { return &api.Event{} },
|
||||||
|
@ -60,6 +60,7 @@ func NewREST(opts generic.RESTOptions, ttl uint64) *REST {
|
||||||
DeleteStrategy: event.Strategy,
|
DeleteStrategy: event.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,6 +51,7 @@ func validNewEvent(namespace string) *api.Event {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
event := validNewEvent(test.TestNamespace())
|
event := validNewEvent(test.TestNamespace())
|
||||||
event.ObjectMeta = api.ObjectMeta{}
|
event.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -65,6 +66,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -87,6 +89,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewEvent(test.TestNamespace()))
|
test.TestDelete(validNewEvent(test.TestNamespace()))
|
||||||
}
|
}
|
||||||
|
|
|
@ -90,6 +90,9 @@ type Store struct {
|
||||||
// Returns a matcher corresponding to the provided labels and fields.
|
// Returns a matcher corresponding to the provided labels and fields.
|
||||||
PredicateFunc func(label labels.Selector, field fields.Selector) *generic.SelectionPredicate
|
PredicateFunc func(label labels.Selector, field fields.Selector) *generic.SelectionPredicate
|
||||||
|
|
||||||
|
// Called to cleanup storage clients.
|
||||||
|
DestroyFunc func()
|
||||||
|
|
||||||
// DeleteCollectionWorkers is the maximum number of workers in a single
|
// DeleteCollectionWorkers is the maximum number of workers in a single
|
||||||
// DeleteCollection call.
|
// DeleteCollection call.
|
||||||
DeleteCollectionWorkers int
|
DeleteCollectionWorkers int
|
||||||
|
|
|
@ -40,7 +40,6 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/selection"
|
"k8s.io/kubernetes/pkg/selection"
|
||||||
"k8s.io/kubernetes/pkg/storage"
|
"k8s.io/kubernetes/pkg/storage"
|
||||||
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
|
||||||
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
||||||
"k8s.io/kubernetes/pkg/storage/storagebackend/factory"
|
"k8s.io/kubernetes/pkg/storage/storagebackend/factory"
|
||||||
storagetesting "k8s.io/kubernetes/pkg/storage/testing"
|
storagetesting "k8s.io/kubernetes/pkg/storage/testing"
|
||||||
|
@ -1197,12 +1196,16 @@ func TestStoreWatch(t *testing.T) {
|
||||||
|
|
||||||
func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) {
|
func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.DestroyFunc, *Store) {
|
||||||
podPrefix := "/pods"
|
podPrefix := "/pods"
|
||||||
server := etcdtesting.NewEtcdTestClientServer(t)
|
server, sc := etcdtesting.NewUnsecuredEtcd3TestClientServer(t)
|
||||||
strategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true}
|
strategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true}
|
||||||
|
|
||||||
codec := testapi.Default.StorageCodec()
|
sc.Codec = testapi.Default.StorageCodec()
|
||||||
s := etcdstorage.NewEtcdStorage(server.Client, codec, etcdtest.PathPrefix(), false, etcdtest.DeserializationCacheSize)
|
s, dFunc, err := factory.Create(*sc)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("Error creating storage: %v", err)
|
||||||
|
}
|
||||||
destroyFunc := func() {
|
destroyFunc := func() {
|
||||||
|
dFunc()
|
||||||
server.Terminate(t)
|
server.Terminate(t)
|
||||||
}
|
}
|
||||||
if hasCacheEnabled {
|
if hasCacheEnabled {
|
||||||
|
@ -1214,7 +1217,7 @@ func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (factory.De
|
||||||
ResourcePrefix: podPrefix,
|
ResourcePrefix: podPrefix,
|
||||||
KeyFunc: func(obj runtime.Object) (string, error) { return storage.NoNamespaceKeyFunc(podPrefix, obj) },
|
KeyFunc: func(obj runtime.Object) (string, error) { return storage.NoNamespaceKeyFunc(podPrefix, obj) },
|
||||||
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
NewListFunc: func() runtime.Object { return &api.PodList{} },
|
||||||
Codec: codec,
|
Codec: sc.Codec,
|
||||||
}
|
}
|
||||||
cacher := storage.NewCacherFromConfig(config)
|
cacher := storage.NewCacherFromConfig(config)
|
||||||
d := destroyFunc
|
d := destroyFunc
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &autoscaling.HorizontalPodAutoscalerList{} }
|
newListFunc := func() runtime.Object { return &autoscaling.HorizontalPodAutoscalerList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.HorizontalPodAutoscalers),
|
cachesize.GetWatchCacheSizeByResource(cachesize.HorizontalPodAutoscalers),
|
||||||
&autoscaling.HorizontalPodAutoscaler{},
|
&autoscaling.HorizontalPodAutoscaler{},
|
||||||
|
@ -78,6 +78,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: horizontalpodautoscaler.Strategy,
|
DeleteStrategy: horizontalpodautoscaler.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = horizontalpodautoscaler.StatusStrategy
|
statusStore.UpdateStrategy = horizontalpodautoscaler.StatusStrategy
|
||||||
|
|
|
@ -59,6 +59,7 @@ func validNewHorizontalPodAutoscaler(name string) *autoscaling.HorizontalPodAuto
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
autoscaler := validNewHorizontalPodAutoscaler("foo")
|
autoscaler := validNewHorizontalPodAutoscaler("foo")
|
||||||
autoscaler.ObjectMeta = api.ObjectMeta{}
|
autoscaler.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -73,6 +74,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -89,6 +91,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewHorizontalPodAutoscaler("foo"))
|
test.TestDelete(validNewHorizontalPodAutoscaler("foo"))
|
||||||
}
|
}
|
||||||
|
@ -96,6 +99,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewHorizontalPodAutoscaler("foo"))
|
test.TestGet(validNewHorizontalPodAutoscaler("foo"))
|
||||||
}
|
}
|
||||||
|
@ -103,6 +107,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewHorizontalPodAutoscaler("foo"))
|
test.TestList(validNewHorizontalPodAutoscaler("foo"))
|
||||||
}
|
}
|
||||||
|
@ -110,6 +115,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewHorizontalPodAutoscaler("foo"),
|
validNewHorizontalPodAutoscaler("foo"),
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensions.IngressList{} }
|
newListFunc := func() runtime.Object { return &extensions.IngressList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Ingress),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Ingress),
|
||||||
&extensions.Ingress{},
|
&extensions.Ingress{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: ingress.Strategy,
|
DeleteStrategy: ingress.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = ingress.StatusStrategy
|
statusStore.UpdateStrategy = ingress.StatusStrategy
|
||||||
|
|
|
@ -115,6 +115,7 @@ func validIngress() *extensions.Ingress {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
ingress := validIngress()
|
ingress := validIngress()
|
||||||
noDefaultBackendAndRules := validIngress()
|
noDefaultBackendAndRules := validIngress()
|
||||||
|
@ -134,6 +135,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -169,6 +171,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validIngress())
|
test.TestDelete(validIngress())
|
||||||
}
|
}
|
||||||
|
@ -176,6 +179,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validIngress())
|
test.TestGet(validIngress())
|
||||||
}
|
}
|
||||||
|
@ -183,6 +187,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validIngress())
|
test.TestList(validIngress())
|
||||||
}
|
}
|
||||||
|
@ -190,6 +195,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validIngress(),
|
validIngress(),
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &batch.JobList{} }
|
newListFunc := func() runtime.Object { return &batch.JobList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Jobs),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Jobs),
|
||||||
&batch.Job{},
|
&batch.Job{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: job.Strategy,
|
DeleteStrategy: job.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -76,6 +76,7 @@ func validNewJob() *batch.Job {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
validJob := validNewJob()
|
validJob := validNewJob()
|
||||||
validJob.ObjectMeta = api.ObjectMeta{}
|
validJob.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -96,6 +97,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
two := int32(2)
|
two := int32(2)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
|
@ -124,6 +126,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewJob())
|
test.TestDelete(validNewJob())
|
||||||
}
|
}
|
||||||
|
@ -131,6 +134,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewJob())
|
test.TestGet(validNewJob())
|
||||||
}
|
}
|
||||||
|
@ -138,6 +142,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewJob())
|
test.TestList(validNewJob())
|
||||||
}
|
}
|
||||||
|
@ -145,6 +150,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewJob(),
|
validNewJob(),
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.LimitRangeList{} }
|
newListFunc := func() runtime.Object { return &api.LimitRangeList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.LimitRanges),
|
cachesize.GetWatchCacheSizeByResource(cachesize.LimitRanges),
|
||||||
&api.LimitRange{},
|
&api.LimitRange{},
|
||||||
|
@ -67,6 +67,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
ExportStrategy: limitrange.Strategy,
|
ExportStrategy: limitrange.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ func validNewLimitRange() *api.LimitRange {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).GeneratesName()
|
test := registrytest.New(t, storage.Store).GeneratesName()
|
||||||
validLimitRange := validNewLimitRange()
|
validLimitRange := validNewLimitRange()
|
||||||
validLimitRange.ObjectMeta = api.ObjectMeta{}
|
validLimitRange.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -78,6 +79,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -106,6 +108,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewLimitRange())
|
test.TestDelete(validNewLimitRange())
|
||||||
}
|
}
|
||||||
|
@ -113,6 +116,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewLimitRange())
|
test.TestGet(validNewLimitRange())
|
||||||
}
|
}
|
||||||
|
@ -120,6 +124,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewLimitRange())
|
test.TestList(validNewLimitRange())
|
||||||
}
|
}
|
||||||
|
@ -127,6 +132,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewLimitRange(),
|
validNewLimitRange(),
|
||||||
|
|
|
@ -53,7 +53,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *FinalizeREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.NamespaceList{} }
|
newListFunc := func() runtime.Object { return &api.NamespaceList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Namespaces),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Namespaces),
|
||||||
&api.Namespace{},
|
&api.Namespace{},
|
||||||
|
@ -85,6 +85,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *FinalizeREST) {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -47,6 +47,7 @@ func validNewNamespace() *api.Namespace {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
namespace := validNewNamespace()
|
namespace := validNewNamespace()
|
||||||
namespace.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
namespace.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
||||||
|
@ -63,6 +64,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestCreateSetsFields(t *testing.T) {
|
func TestCreateSetsFields(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
namespace := validNewNamespace()
|
namespace := validNewNamespace()
|
||||||
ctx := api.NewContext()
|
ctx := api.NewContext()
|
||||||
_, err := storage.Create(ctx, namespace)
|
_, err := storage.Create(ctx, namespace)
|
||||||
|
@ -89,6 +91,7 @@ func TestCreateSetsFields(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
||||||
test.TestDelete(validNewNamespace())
|
test.TestDelete(validNewNamespace())
|
||||||
}
|
}
|
||||||
|
@ -96,6 +99,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestGet(validNewNamespace())
|
test.TestGet(validNewNamespace())
|
||||||
}
|
}
|
||||||
|
@ -103,6 +107,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestList(validNewNamespace())
|
test.TestList(validNewNamespace())
|
||||||
}
|
}
|
||||||
|
@ -110,6 +115,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewNamespace(),
|
validNewNamespace(),
|
||||||
|
@ -134,6 +140,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestDeleteNamespaceWithIncompleteFinalizers(t *testing.T) {
|
func TestDeleteNamespaceWithIncompleteFinalizers(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
key := etcdtest.AddPrefix("namespaces/foo")
|
key := etcdtest.AddPrefix("namespaces/foo")
|
||||||
ctx := api.NewContext()
|
ctx := api.NewContext()
|
||||||
now := unversioned.Now()
|
now := unversioned.Now()
|
||||||
|
@ -158,6 +165,7 @@ func TestDeleteNamespaceWithIncompleteFinalizers(t *testing.T) {
|
||||||
func TestDeleteNamespaceWithCompleteFinalizers(t *testing.T) {
|
func TestDeleteNamespaceWithCompleteFinalizers(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
key := etcdtest.AddPrefix("namespaces/foo")
|
key := etcdtest.AddPrefix("namespaces/foo")
|
||||||
ctx := api.NewContext()
|
ctx := api.NewContext()
|
||||||
now := unversioned.Now()
|
now := unversioned.Now()
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensionsapi.NetworkPolicyList{} }
|
newListFunc := func() runtime.Object { return &extensionsapi.NetworkPolicyList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.NetworkPolicys),
|
cachesize.GetWatchCacheSizeByResource(cachesize.NetworkPolicys),
|
||||||
&extensionsapi.NetworkPolicy{},
|
&extensionsapi.NetworkPolicy{},
|
||||||
|
@ -79,6 +79,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: networkpolicy.Strategy,
|
DeleteStrategy: networkpolicy.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -81,6 +81,7 @@ var validNetworkPolicy = *validNewNetworkPolicy()
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
np := validNewNetworkPolicy()
|
np := validNewNetworkPolicy()
|
||||||
np.ObjectMeta = api.ObjectMeta{}
|
np.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -102,6 +103,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -128,6 +130,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewNetworkPolicy())
|
test.TestDelete(validNewNetworkPolicy())
|
||||||
}
|
}
|
||||||
|
@ -135,6 +138,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewNetworkPolicy())
|
test.TestGet(validNewNetworkPolicy())
|
||||||
}
|
}
|
||||||
|
@ -142,6 +146,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewNetworkPolicy())
|
test.TestList(validNewNetworkPolicy())
|
||||||
}
|
}
|
||||||
|
@ -149,6 +154,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewNetworkPolicy(),
|
validNewNetworkPolicy(),
|
||||||
|
|
|
@ -69,7 +69,7 @@ func NewStorage(opts generic.RESTOptions, connection client.ConnectionInfoGetter
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.NodeList{} }
|
newListFunc := func() runtime.Object { return &api.NodeList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Nodes),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Nodes),
|
||||||
&api.Node{},
|
&api.Node{},
|
||||||
|
@ -100,6 +100,7 @@ func NewStorage(opts generic.RESTOptions, connection client.ConnectionInfoGetter
|
||||||
ExportStrategy: node.Strategy,
|
ExportStrategy: node.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -67,6 +67,7 @@ func validNewNode() *api.Node {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
node := validNewNode()
|
node := validNewNode()
|
||||||
node.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
node.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
||||||
|
@ -83,6 +84,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -99,6 +101,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestDelete(validNewNode())
|
test.TestDelete(validNewNode())
|
||||||
}
|
}
|
||||||
|
@ -106,6 +109,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestGet(validNewNode())
|
test.TestGet(validNewNode())
|
||||||
}
|
}
|
||||||
|
@ -113,6 +117,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestList(validNewNode())
|
test.TestList(validNewNode())
|
||||||
}
|
}
|
||||||
|
@ -120,6 +125,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewNode(),
|
validNewNode(),
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.PersistentVolumeList{} }
|
newListFunc := func() runtime.Object { return &api.PersistentVolumeList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PersistentVolumes),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PersistentVolumes),
|
||||||
&api.PersistentVolume{},
|
&api.PersistentVolume{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -71,6 +71,7 @@ func validChangedPersistentVolume() *api.PersistentVolume {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
pv := validNewPersistentVolume("foo")
|
pv := validNewPersistentVolume("foo")
|
||||||
pv.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
pv.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
||||||
|
@ -87,6 +88,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -105,6 +107,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
||||||
test.TestDelete(validNewPersistentVolume("foo"))
|
test.TestDelete(validNewPersistentVolume("foo"))
|
||||||
}
|
}
|
||||||
|
@ -112,6 +115,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestGet(validNewPersistentVolume("foo"))
|
test.TestGet(validNewPersistentVolume("foo"))
|
||||||
}
|
}
|
||||||
|
@ -119,6 +123,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestList(validNewPersistentVolume("foo"))
|
test.TestList(validNewPersistentVolume("foo"))
|
||||||
}
|
}
|
||||||
|
@ -126,6 +131,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPersistentVolume("foo"),
|
validNewPersistentVolume("foo"),
|
||||||
|
@ -150,6 +156,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestUpdateStatus(t *testing.T) {
|
func TestUpdateStatus(t *testing.T) {
|
||||||
storage, statusStorage, server := newStorage(t)
|
storage, statusStorage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewContext()
|
ctx := api.NewContext()
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
key = etcdtest.AddPrefix(key)
|
key = etcdtest.AddPrefix(key)
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.PersistentVolumeClaimList{} }
|
newListFunc := func() runtime.Object { return &api.PersistentVolumeClaimList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PersistentVolumeClaims),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PersistentVolumeClaims),
|
||||||
&api.PersistentVolumeClaim{},
|
&api.PersistentVolumeClaim{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -63,6 +63,7 @@ func validNewPersistentVolumeClaim(name, ns string) *api.PersistentVolumeClaim {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
pv := validNewPersistentVolumeClaim("foo", api.NamespaceDefault)
|
pv := validNewPersistentVolumeClaim("foo", api.NamespaceDefault)
|
||||||
pv.ObjectMeta = api.ObjectMeta{}
|
pv.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -79,6 +80,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -95,6 +97,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
||||||
test.TestDelete(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
test.TestDelete(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
||||||
}
|
}
|
||||||
|
@ -102,6 +105,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
test.TestGet(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
||||||
}
|
}
|
||||||
|
@ -109,6 +113,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
test.TestList(validNewPersistentVolumeClaim("foo", api.NamespaceDefault))
|
||||||
}
|
}
|
||||||
|
@ -116,6 +121,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPersistentVolumeClaim("foo", api.NamespaceDefault),
|
validNewPersistentVolumeClaim("foo", api.NamespaceDefault),
|
||||||
|
@ -140,6 +146,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestUpdateStatus(t *testing.T) {
|
func TestUpdateStatus(t *testing.T) {
|
||||||
storage, statusStorage, server := newStorage(t)
|
storage, statusStorage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &appsapi.PetSetList{} }
|
newListFunc := func() runtime.Object { return &appsapi.PetSetList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PetSet),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PetSet),
|
||||||
&appsapi.PetSet{},
|
&appsapi.PetSet{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: petset.Strategy,
|
DeleteStrategy: petset.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = petset.StatusStrategy
|
statusStore.UpdateStrategy = petset.StatusStrategy
|
||||||
|
|
|
@ -83,6 +83,7 @@ func validNewPetSet() *apps.PetSet {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
ps := validNewPetSet()
|
ps := validNewPetSet()
|
||||||
ps.ObjectMeta = api.ObjectMeta{}
|
ps.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -98,7 +99,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestStatusUpdate(t *testing.T) {
|
func TestStatusUpdate(t *testing.T) {
|
||||||
storage, statusStorage, server := newStorage(t)
|
storage, statusStorage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
||||||
key := etcdtest.AddPrefix("/petsets/" + api.NamespaceDefault + "/foo")
|
key := etcdtest.AddPrefix("/petsets/" + api.NamespaceDefault + "/foo")
|
||||||
validPetSet := validNewPetSet()
|
validPetSet := validNewPetSet()
|
||||||
|
@ -135,6 +136,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewPetSet())
|
test.TestGet(validNewPetSet())
|
||||||
}
|
}
|
||||||
|
@ -142,6 +144,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewPetSet())
|
test.TestList(validNewPetSet())
|
||||||
}
|
}
|
||||||
|
@ -149,6 +152,7 @@ func TestList(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewPetSet())
|
test.TestDelete(validNewPetSet())
|
||||||
}
|
}
|
||||||
|
@ -156,6 +160,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPetSet(),
|
validNewPetSet(),
|
||||||
|
|
|
@ -63,7 +63,7 @@ func NewStorage(opts generic.RESTOptions, k client.ConnectionInfoGetter, proxyTr
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.PodList{} }
|
newListFunc := func() runtime.Object { return &api.PodList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Pods),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Pods),
|
||||||
&api.Pod{},
|
&api.Pod{},
|
||||||
|
@ -95,6 +95,7 @@ func NewStorage(opts generic.RESTOptions, k client.ConnectionInfoGetter, proxyTr
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -82,6 +82,7 @@ func validChangedPod() *api.Pod {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
pod := validNewPod()
|
pod := validNewPod()
|
||||||
pod.ObjectMeta = api.ObjectMeta{}
|
pod.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -108,6 +109,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -124,6 +126,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
||||||
test.TestDelete(validNewPod())
|
test.TestDelete(validNewPod())
|
||||||
|
|
||||||
|
@ -156,6 +159,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
|
||||||
called := false
|
called := false
|
||||||
registry, server := newFailDeleteStorage(t, &called)
|
registry, server := newFailDeleteStorage(t, &called)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer registry.Store.DestroyFunc()
|
||||||
|
|
||||||
// should fail if pod A is not created yet.
|
// should fail if pod A is not created yet.
|
||||||
_, err := registry.Delete(testContext, pod.Name, nil)
|
_, err := registry.Delete(testContext, pod.Name, nil)
|
||||||
|
@ -199,6 +203,7 @@ func TestIgnoreDeleteNotFound(t *testing.T) {
|
||||||
func TestCreateSetsFields(t *testing.T) {
|
func TestCreateSetsFields(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
pod := validNewPod()
|
pod := validNewPod()
|
||||||
_, err := storage.Create(api.NewDefaultContext(), pod)
|
_, err := storage.Create(api.NewDefaultContext(), pod)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -341,6 +346,7 @@ func TestResourceLocation(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewPod())
|
test.TestGet(validNewPod())
|
||||||
}
|
}
|
||||||
|
@ -348,6 +354,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewPod())
|
test.TestList(validNewPod())
|
||||||
}
|
}
|
||||||
|
@ -355,6 +362,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPod(),
|
validNewPod(),
|
||||||
|
@ -378,6 +386,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestEtcdCreate(t *testing.T) {
|
func TestEtcdCreate(t *testing.T) {
|
||||||
storage, bindingStorage, _, server := newStorage(t)
|
storage, bindingStorage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
key = etcdtest.AddPrefix(key)
|
key = etcdtest.AddPrefix(key)
|
||||||
|
@ -406,6 +415,7 @@ func TestEtcdCreate(t *testing.T) {
|
||||||
func TestEtcdCreateBindingNoPod(t *testing.T) {
|
func TestEtcdCreateBindingNoPod(t *testing.T) {
|
||||||
storage, bindingStorage, _, server := newStorage(t)
|
storage, bindingStorage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
@ -437,6 +447,7 @@ func TestEtcdCreateBindingNoPod(t *testing.T) {
|
||||||
func TestEtcdCreateFailsWithoutNamespace(t *testing.T) {
|
func TestEtcdCreateFailsWithoutNamespace(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
pod := validNewPod()
|
pod := validNewPod()
|
||||||
pod.Namespace = ""
|
pod.Namespace = ""
|
||||||
_, err := storage.Create(api.NewContext(), pod)
|
_, err := storage.Create(api.NewContext(), pod)
|
||||||
|
@ -449,6 +460,7 @@ func TestEtcdCreateFailsWithoutNamespace(t *testing.T) {
|
||||||
func TestEtcdCreateWithContainersNotFound(t *testing.T) {
|
func TestEtcdCreateWithContainersNotFound(t *testing.T) {
|
||||||
storage, bindingStorage, _, server := newStorage(t)
|
storage, bindingStorage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
key = etcdtest.AddPrefix(key)
|
key = etcdtest.AddPrefix(key)
|
||||||
|
@ -484,6 +496,7 @@ func TestEtcdCreateWithContainersNotFound(t *testing.T) {
|
||||||
func TestEtcdCreateWithConflict(t *testing.T) {
|
func TestEtcdCreateWithConflict(t *testing.T) {
|
||||||
storage, bindingStorage, _, server := newStorage(t)
|
storage, bindingStorage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
_, err := storage.Create(ctx, validNewPod())
|
_, err := storage.Create(ctx, validNewPod())
|
||||||
|
@ -514,6 +527,7 @@ func TestEtcdCreateWithConflict(t *testing.T) {
|
||||||
func TestEtcdCreateWithExistingContainers(t *testing.T) {
|
func TestEtcdCreateWithExistingContainers(t *testing.T) {
|
||||||
storage, bindingStorage, _, server := newStorage(t)
|
storage, bindingStorage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
key = etcdtest.AddPrefix(key)
|
key = etcdtest.AddPrefix(key)
|
||||||
|
@ -592,6 +606,7 @@ func TestEtcdCreateBinding(t *testing.T) {
|
||||||
t.Errorf("%s: expected: %v, got: %v", k, pod.(*api.Pod).Spec.NodeName, test.binding.Target.Name)
|
t.Errorf("%s: expected: %v, got: %v", k, pod.(*api.Pod).Spec.NodeName, test.binding.Target.Name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
storage.Store.DestroyFunc()
|
||||||
server.Terminate(t)
|
server.Terminate(t)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -599,6 +614,7 @@ func TestEtcdCreateBinding(t *testing.T) {
|
||||||
func TestEtcdUpdateNotScheduled(t *testing.T) {
|
func TestEtcdUpdateNotScheduled(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
@ -626,6 +642,7 @@ func TestEtcdUpdateNotScheduled(t *testing.T) {
|
||||||
func TestEtcdUpdateScheduled(t *testing.T) {
|
func TestEtcdUpdateScheduled(t *testing.T) {
|
||||||
storage, _, _, server := newStorage(t)
|
storage, _, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
@ -695,6 +712,7 @@ func TestEtcdUpdateScheduled(t *testing.T) {
|
||||||
func TestEtcdUpdateStatus(t *testing.T) {
|
func TestEtcdUpdateStatus(t *testing.T) {
|
||||||
storage, _, statusStorage, server := newStorage(t)
|
storage, _, statusStorage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &policyapi.PodDisruptionBudgetList{} }
|
newListFunc := func() runtime.Object { return &policyapi.PodDisruptionBudgetList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PodDisruptionBudget),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PodDisruptionBudget),
|
||||||
&policyapi.PodDisruptionBudget{},
|
&policyapi.PodDisruptionBudget{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: poddisruptionbudget.Strategy,
|
DeleteStrategy: poddisruptionbudget.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = poddisruptionbudget.StatusStrategy
|
statusStore.UpdateStrategy = poddisruptionbudget.StatusStrategy
|
||||||
|
|
|
@ -68,6 +68,7 @@ func validNewPodDisruptionBudget() *policy.PodDisruptionBudget {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
pdb := validNewPodDisruptionBudget()
|
pdb := validNewPodDisruptionBudget()
|
||||||
pdb.ObjectMeta = api.ObjectMeta{}
|
pdb.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -83,7 +84,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestStatusUpdate(t *testing.T) {
|
func TestStatusUpdate(t *testing.T) {
|
||||||
storage, statusStorage, server := newStorage(t)
|
storage, statusStorage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
||||||
key := etcdtest.AddPrefix("/poddisruptionbudgets/" + api.NamespaceDefault + "/foo")
|
key := etcdtest.AddPrefix("/poddisruptionbudgets/" + api.NamespaceDefault + "/foo")
|
||||||
validPodDisruptionBudget := validNewPodDisruptionBudget()
|
validPodDisruptionBudget := validNewPodDisruptionBudget()
|
||||||
|
@ -120,6 +121,7 @@ func TestStatusUpdate(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewPodDisruptionBudget())
|
test.TestGet(validNewPodDisruptionBudget())
|
||||||
}
|
}
|
||||||
|
@ -127,6 +129,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewPodDisruptionBudget())
|
test.TestList(validNewPodDisruptionBudget())
|
||||||
}
|
}
|
||||||
|
@ -134,6 +137,7 @@ func TestList(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewPodDisruptionBudget())
|
test.TestDelete(validNewPodDisruptionBudget())
|
||||||
}
|
}
|
||||||
|
@ -141,6 +145,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPodDisruptionBudget(),
|
validNewPodDisruptionBudget(),
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensions.PodSecurityPolicyList{} }
|
newListFunc := func() runtime.Object { return &extensions.PodSecurityPolicyList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PodSecurityPolicies),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PodSecurityPolicies),
|
||||||
&extensions.PodSecurityPolicy{},
|
&extensions.PodSecurityPolicy{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: podsecuritypolicy.Strategy,
|
DeleteStrategy: podsecuritypolicy.Strategy,
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ func validNewPodSecurityPolicy() *extensions.PodSecurityPolicy {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
psp := validNewPodSecurityPolicy()
|
psp := validNewPodSecurityPolicy()
|
||||||
psp.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
psp.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
||||||
|
@ -78,6 +79,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -94,6 +96,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
||||||
test.TestDelete(validNewPodSecurityPolicy())
|
test.TestDelete(validNewPodSecurityPolicy())
|
||||||
}
|
}
|
||||||
|
@ -101,6 +104,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestGet(validNewPodSecurityPolicy())
|
test.TestGet(validNewPodSecurityPolicy())
|
||||||
}
|
}
|
||||||
|
@ -108,6 +112,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestList(validNewPodSecurityPolicy())
|
test.TestList(validNewPodSecurityPolicy())
|
||||||
}
|
}
|
||||||
|
@ -115,6 +120,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPodSecurityPolicy(),
|
validNewPodSecurityPolicy(),
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.PodTemplateList{} }
|
newListFunc := func() runtime.Object { return &api.PodTemplateList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.PodTemplates),
|
cachesize.GetWatchCacheSizeByResource(cachesize.PodTemplates),
|
||||||
&api.PodTemplate{},
|
&api.PodTemplate{},
|
||||||
|
@ -69,6 +69,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,6 +64,7 @@ func validNewPodTemplate(name string) *api.PodTemplate {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
pod := validNewPodTemplate("foo")
|
pod := validNewPodTemplate("foo")
|
||||||
pod.ObjectMeta = api.ObjectMeta{}
|
pod.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -80,6 +81,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
//valid
|
//valid
|
||||||
|
@ -96,6 +98,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
||||||
test.TestDelete(validNewPodTemplate("foo"))
|
test.TestDelete(validNewPodTemplate("foo"))
|
||||||
}
|
}
|
||||||
|
@ -103,6 +106,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewPodTemplate("foo"))
|
test.TestGet(validNewPodTemplate("foo"))
|
||||||
}
|
}
|
||||||
|
@ -110,6 +114,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewPodTemplate("foo"))
|
test.TestList(validNewPodTemplate("foo"))
|
||||||
}
|
}
|
||||||
|
@ -117,6 +122,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewPodTemplate("foo"),
|
validNewPodTemplate("foo"),
|
||||||
|
|
|
@ -30,21 +30,14 @@ import (
|
||||||
"k8s.io/kubernetes/pkg/registry/generic/registry"
|
"k8s.io/kubernetes/pkg/registry/generic/registry"
|
||||||
"k8s.io/kubernetes/pkg/runtime"
|
"k8s.io/kubernetes/pkg/runtime"
|
||||||
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
etcdstorage "k8s.io/kubernetes/pkg/storage/etcd"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
|
||||||
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing"
|
||||||
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
||||||
storagetesting "k8s.io/kubernetes/pkg/storage/testing"
|
storagetesting "k8s.io/kubernetes/pkg/storage/testing"
|
||||||
)
|
)
|
||||||
|
|
||||||
func NewEtcdStorage(t *testing.T, group string) (*storagebackend.Config, *etcdtesting.EtcdTestServer) {
|
func NewEtcdStorage(t *testing.T, group string) (*storagebackend.Config, *etcdtesting.EtcdTestServer) {
|
||||||
server := etcdtesting.NewUnsecuredEtcdTestClientServer(t)
|
server, config := etcdtesting.NewUnsecuredEtcd3TestClientServer(t)
|
||||||
config := &storagebackend.Config{
|
config.Codec = testapi.Groups[group].StorageCodec()
|
||||||
Type: "etcd2",
|
|
||||||
Prefix: etcdtest.PathPrefix(),
|
|
||||||
ServerList: server.Client.Endpoints(),
|
|
||||||
DeserializationCacheSize: etcdtest.DeserializationCacheSize,
|
|
||||||
Codec: testapi.Groups[group].StorageCodec(),
|
|
||||||
}
|
|
||||||
return config, server
|
return config, server
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &extensions.ReplicaSetList{} }
|
newListFunc := func() runtime.Object { return &extensions.ReplicaSetList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Replicasets),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Replicasets),
|
||||||
&extensions.ReplicaSet{},
|
&extensions.ReplicaSet{},
|
||||||
|
@ -103,6 +103,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: replicaset.Strategy,
|
DeleteStrategy: replicaset.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = replicaset.StatusStrategy
|
statusStore.UpdateStrategy = replicaset.StatusStrategy
|
||||||
|
|
|
@ -91,6 +91,7 @@ var validReplicaSet = *validNewReplicaSet()
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
rs := validNewReplicaSet()
|
rs := validNewReplicaSet()
|
||||||
rs.ObjectMeta = api.ObjectMeta{}
|
rs.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -111,6 +112,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -138,6 +140,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
test.TestDelete(validNewReplicaSet())
|
test.TestDelete(validNewReplicaSet())
|
||||||
}
|
}
|
||||||
|
@ -145,6 +148,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGenerationNumber(t *testing.T) {
|
func TestGenerationNumber(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
modifiedSno := *validNewReplicaSet()
|
modifiedSno := *validNewReplicaSet()
|
||||||
modifiedSno.Generation = 100
|
modifiedSno.Generation = 100
|
||||||
modifiedSno.Status.ObservedGeneration = 10
|
modifiedSno.Status.ObservedGeneration = 10
|
||||||
|
@ -195,6 +199,7 @@ func TestGenerationNumber(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
test.TestGet(validNewReplicaSet())
|
test.TestGet(validNewReplicaSet())
|
||||||
}
|
}
|
||||||
|
@ -202,6 +207,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
test.TestList(validNewReplicaSet())
|
test.TestList(validNewReplicaSet())
|
||||||
}
|
}
|
||||||
|
@ -209,6 +215,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.ReplicaSet.Store)
|
test := registrytest.New(t, storage.ReplicaSet.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewReplicaSet(),
|
validNewReplicaSet(),
|
||||||
|
@ -241,6 +248,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestScaleGet(t *testing.T) {
|
func TestScaleGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
|
|
||||||
name := "foo"
|
name := "foo"
|
||||||
|
|
||||||
|
@ -280,6 +288,7 @@ func TestScaleGet(t *testing.T) {
|
||||||
func TestScaleUpdate(t *testing.T) {
|
func TestScaleUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
|
|
||||||
name := "foo"
|
name := "foo"
|
||||||
|
|
||||||
|
@ -324,6 +333,7 @@ func TestScaleUpdate(t *testing.T) {
|
||||||
func TestStatusUpdate(t *testing.T) {
|
func TestStatusUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.ReplicaSet.Store.DestroyFunc()
|
||||||
|
|
||||||
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
ctx := api.WithNamespace(api.NewContext(), api.NamespaceDefault)
|
||||||
key := etcdtest.AddPrefix("/replicasets/" + api.NamespaceDefault + "/foo")
|
key := etcdtest.AddPrefix("/replicasets/" + api.NamespaceDefault + "/foo")
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.ResourceQuotaList{} }
|
newListFunc := func() runtime.Object { return &api.ResourceQuotaList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ResourceQuotas),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ResourceQuotas),
|
||||||
&api.ResourceQuota{},
|
&api.ResourceQuota{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -60,6 +60,7 @@ func validNewResourceQuota() *api.ResourceQuota {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
resourcequota := validNewResourceQuota()
|
resourcequota := validNewResourceQuota()
|
||||||
resourcequota.ObjectMeta = api.ObjectMeta{}
|
resourcequota.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -76,6 +77,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestCreateSetsFields(t *testing.T) {
|
func TestCreateSetsFields(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
resourcequota := validNewResourceQuota()
|
resourcequota := validNewResourceQuota()
|
||||||
_, err := storage.Create(api.NewDefaultContext(), resourcequota)
|
_, err := storage.Create(api.NewDefaultContext(), resourcequota)
|
||||||
|
@ -99,6 +101,7 @@ func TestCreateSetsFields(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
||||||
test.TestDelete(validNewResourceQuota())
|
test.TestDelete(validNewResourceQuota())
|
||||||
}
|
}
|
||||||
|
@ -106,6 +109,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewResourceQuota())
|
test.TestGet(validNewResourceQuota())
|
||||||
}
|
}
|
||||||
|
@ -113,6 +117,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewResourceQuota())
|
test.TestList(validNewResourceQuota())
|
||||||
}
|
}
|
||||||
|
@ -120,6 +125,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewResourceQuota(),
|
validNewResourceQuota(),
|
||||||
|
@ -143,6 +149,7 @@ func TestWatch(t *testing.T) {
|
||||||
func TestUpdateStatus(t *testing.T) {
|
func TestUpdateStatus(t *testing.T) {
|
||||||
storage, status, server := newStorage(t)
|
storage, status, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
ctx := api.NewDefaultContext()
|
ctx := api.NewDefaultContext()
|
||||||
|
|
||||||
key, _ := storage.KeyFunc(ctx, "foo")
|
key, _ := storage.KeyFunc(ctx, "foo")
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &rbac.RoleList{} }
|
newListFunc := func() runtime.Object { return &rbac.RoleList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Roles),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Roles),
|
||||||
&rbac.Role{},
|
&rbac.Role{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: role.Strategy,
|
DeleteStrategy: role.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -37,7 +37,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &rbac.RoleBindingList{} }
|
newListFunc := func() runtime.Object { return &rbac.RoleBindingList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.RoleBindings),
|
cachesize.GetWatchCacheSizeByResource(cachesize.RoleBindings),
|
||||||
&rbac.RoleBinding{},
|
&rbac.RoleBinding{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: rolebinding.Strategy,
|
DeleteStrategy: rolebinding.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &batch.ScheduledJobList{} }
|
newListFunc := func() runtime.Object { return &batch.ScheduledJobList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ScheduledJobs),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ScheduledJobs),
|
||||||
&batch.ScheduledJob{},
|
&batch.ScheduledJob{},
|
||||||
|
@ -80,6 +80,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
DeleteStrategy: scheduledjob.Strategy,
|
DeleteStrategy: scheduledjob.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
|
|
|
@ -70,6 +70,7 @@ func TestCreate(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
validScheduledJob := validNewScheduledJob()
|
validScheduledJob := validNewScheduledJob()
|
||||||
validScheduledJob.ObjectMeta = api.ObjectMeta{}
|
validScheduledJob.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -91,6 +92,7 @@ func TestUpdate(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
schedule := "1 1 1 1 ?"
|
schedule := "1 1 1 1 ?"
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
|
@ -119,6 +121,7 @@ func TestDelete(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewScheduledJob())
|
test.TestDelete(validNewScheduledJob())
|
||||||
}
|
}
|
||||||
|
@ -131,6 +134,7 @@ func TestGet(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewScheduledJob())
|
test.TestGet(validNewScheduledJob())
|
||||||
}
|
}
|
||||||
|
@ -143,6 +147,7 @@ func TestList(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewScheduledJob())
|
test.TestList(validNewScheduledJob())
|
||||||
}
|
}
|
||||||
|
@ -155,6 +160,7 @@ func TestWatch(t *testing.T) {
|
||||||
|
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewScheduledJob(),
|
validNewScheduledJob(),
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.SecretList{} }
|
newListFunc := func() runtime.Object { return &api.SecretList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Secrets),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Secrets),
|
||||||
&api.Secret{},
|
&api.Secret{},
|
||||||
|
@ -66,6 +66,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: secret.Strategy,
|
DeleteStrategy: secret.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,6 +49,7 @@ func validNewSecret(name string) *api.Secret {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
secret := validNewSecret("foo")
|
secret := validNewSecret("foo")
|
||||||
secret.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
secret.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
||||||
|
@ -71,6 +72,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -87,6 +89,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewSecret("foo"))
|
test.TestDelete(validNewSecret("foo"))
|
||||||
}
|
}
|
||||||
|
@ -94,6 +97,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewSecret("foo"))
|
test.TestGet(validNewSecret("foo"))
|
||||||
}
|
}
|
||||||
|
@ -101,6 +105,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewSecret("foo"))
|
test.TestList(validNewSecret("foo"))
|
||||||
}
|
}
|
||||||
|
@ -108,6 +113,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewSecret("foo"),
|
validNewSecret("foo"),
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.ServiceList{} }
|
newListFunc := func() runtime.Object { return &api.ServiceList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.Services),
|
cachesize.GetWatchCacheSizeByResource(cachesize.Services),
|
||||||
&api.Service{},
|
&api.Service{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) {
|
||||||
ExportStrategy: service.Strategy,
|
ExportStrategy: service.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
statusStore := *store
|
statusStore := *store
|
||||||
statusStore.UpdateStrategy = service.StatusStrategy
|
statusStore.UpdateStrategy = service.StatusStrategy
|
||||||
|
|
|
@ -59,6 +59,7 @@ func validService() *api.Service {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
validService := validService()
|
validService := validService()
|
||||||
validService.ObjectMeta = api.ObjectMeta{}
|
validService.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -89,6 +90,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -114,6 +116,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestDelete(validService())
|
test.TestDelete(validService())
|
||||||
}
|
}
|
||||||
|
@ -121,6 +124,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestGet(validService())
|
test.TestGet(validService())
|
||||||
}
|
}
|
||||||
|
@ -128,6 +132,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
test := registrytest.New(t, storage.Store).AllowCreateOnUpdate()
|
||||||
test.TestList(validService())
|
test.TestList(validService())
|
||||||
}
|
}
|
||||||
|
@ -135,6 +140,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, _, server := newStorage(t)
|
storage, _, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validService(),
|
validService(),
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &api.ServiceAccountList{} }
|
newListFunc := func() runtime.Object { return &api.ServiceAccountList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.ServiceAccounts),
|
cachesize.GetWatchCacheSizeByResource(cachesize.ServiceAccounts),
|
||||||
&api.ServiceAccount{},
|
&api.ServiceAccount{},
|
||||||
|
@ -67,6 +67,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,6 +47,7 @@ func validNewServiceAccount(name string) *api.ServiceAccount {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
serviceAccount := validNewServiceAccount("foo")
|
serviceAccount := validNewServiceAccount("foo")
|
||||||
serviceAccount.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
serviceAccount.ObjectMeta = api.ObjectMeta{GenerateName: "foo-"}
|
||||||
|
@ -64,6 +65,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -80,6 +82,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ReturnDeletedObject()
|
||||||
test.TestDelete(validNewServiceAccount("foo"))
|
test.TestDelete(validNewServiceAccount("foo"))
|
||||||
}
|
}
|
||||||
|
@ -87,6 +90,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewServiceAccount("foo"))
|
test.TestGet(validNewServiceAccount("foo"))
|
||||||
}
|
}
|
||||||
|
@ -94,6 +98,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewServiceAccount("foo"))
|
test.TestList(validNewServiceAccount("foo"))
|
||||||
}
|
}
|
||||||
|
@ -101,6 +106,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewServiceAccount("foo"),
|
validNewServiceAccount("foo"),
|
||||||
|
|
|
@ -36,7 +36,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
newListFunc := func() runtime.Object { return &storageapi.StorageClassList{} }
|
newListFunc := func() runtime.Object { return &storageapi.StorageClassList{} }
|
||||||
storageInterface, _ := opts.Decorator(
|
storageInterface, dFunc := opts.Decorator(
|
||||||
opts.StorageConfig,
|
opts.StorageConfig,
|
||||||
cachesize.GetWatchCacheSizeByResource(cachesize.StorageClasses),
|
cachesize.GetWatchCacheSizeByResource(cachesize.StorageClasses),
|
||||||
&storageapi.StorageClass{},
|
&storageapi.StorageClass{},
|
||||||
|
@ -68,6 +68,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
ReturnDeletedObject: true,
|
ReturnDeletedObject: true,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -55,6 +55,7 @@ func validChangedStorageClass() *storageapi.StorageClass {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
storageClass := validNewStorageClass("foo")
|
storageClass := validNewStorageClass("foo")
|
||||||
storageClass.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
storageClass.ObjectMeta = api.ObjectMeta{GenerateName: "foo"}
|
||||||
|
@ -71,6 +72,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -94,6 +96,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
test := registrytest.New(t, storage.Store).ClusterScope().ReturnDeletedObject()
|
||||||
test.TestDelete(validNewStorageClass("foo"))
|
test.TestDelete(validNewStorageClass("foo"))
|
||||||
}
|
}
|
||||||
|
@ -101,6 +104,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestGet(validNewStorageClass("foo"))
|
test.TestGet(validNewStorageClass("foo"))
|
||||||
}
|
}
|
||||||
|
@ -108,6 +112,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestList(validNewStorageClass("foo"))
|
test.TestList(validNewStorageClass("foo"))
|
||||||
}
|
}
|
||||||
|
@ -115,6 +120,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope()
|
test := registrytest.New(t, storage.Store).ClusterScope()
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewStorageClass("foo"),
|
validNewStorageClass("foo"),
|
||||||
|
|
|
@ -35,7 +35,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
prefix := "/" + opts.ResourcePrefix
|
prefix := "/" + opts.ResourcePrefix
|
||||||
|
|
||||||
// We explicitly do NOT do any decoration here yet.
|
// We explicitly do NOT do any decoration here yet.
|
||||||
storageInterface, _ := generic.NewRawStorage(opts.StorageConfig)
|
storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig)
|
||||||
|
|
||||||
store := ®istry.Store{
|
store := ®istry.Store{
|
||||||
NewFunc: func() runtime.Object { return &extensions.ThirdPartyResource{} },
|
NewFunc: func() runtime.Object { return &extensions.ThirdPartyResource{} },
|
||||||
|
@ -57,6 +57,7 @@ func NewREST(opts generic.RESTOptions) *REST {
|
||||||
DeleteStrategy: thirdpartyresource.Strategy,
|
DeleteStrategy: thirdpartyresource.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{store}
|
return &REST{store}
|
||||||
|
|
|
@ -58,6 +58,7 @@ func namer(i int) string {
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer).GeneratesName()
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer).GeneratesName()
|
||||||
rsrc := validNewThirdPartyResource("kind.domain.tld")
|
rsrc := validNewThirdPartyResource("kind.domain.tld")
|
||||||
test.TestCreate(
|
test.TestCreate(
|
||||||
|
@ -75,6 +76,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -91,6 +93,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
||||||
test.TestDelete(validNewThirdPartyResource("kind.domain.tld"))
|
test.TestDelete(validNewThirdPartyResource("kind.domain.tld"))
|
||||||
}
|
}
|
||||||
|
@ -98,6 +101,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
||||||
test.TestGet(validNewThirdPartyResource("kind.domain.tld"))
|
test.TestGet(validNewThirdPartyResource("kind.domain.tld"))
|
||||||
}
|
}
|
||||||
|
@ -105,6 +109,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
||||||
test.TestList(validNewThirdPartyResource("kind.domain.tld"))
|
test.TestList(validNewThirdPartyResource("kind.domain.tld"))
|
||||||
}
|
}
|
||||||
|
@ -112,6 +117,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
test := registrytest.New(t, storage.Store).ClusterScope().Namer(namer)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewThirdPartyResource("kind.domain.tld"),
|
validNewThirdPartyResource("kind.domain.tld"),
|
||||||
|
|
|
@ -38,7 +38,7 @@ func NewREST(opts generic.RESTOptions, group, kind string) *REST {
|
||||||
prefix := "/ThirdPartyResourceData/" + group + "/" + strings.ToLower(kind) + "s"
|
prefix := "/ThirdPartyResourceData/" + group + "/" + strings.ToLower(kind) + "s"
|
||||||
|
|
||||||
// We explicitly do NOT do any decoration here yet.
|
// We explicitly do NOT do any decoration here yet.
|
||||||
storageInterface, _ := generic.NewRawStorage(opts.StorageConfig)
|
storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig)
|
||||||
|
|
||||||
store := ®istry.Store{
|
store := ®istry.Store{
|
||||||
NewFunc: func() runtime.Object { return &extensions.ThirdPartyResourceData{} },
|
NewFunc: func() runtime.Object { return &extensions.ThirdPartyResourceData{} },
|
||||||
|
@ -60,6 +60,7 @@ func NewREST(opts generic.RESTOptions, group, kind string) *REST {
|
||||||
DeleteStrategy: thirdpartyresourcedata.Strategy,
|
DeleteStrategy: thirdpartyresourcedata.Strategy,
|
||||||
|
|
||||||
Storage: storageInterface,
|
Storage: storageInterface,
|
||||||
|
DestroyFunc: dFunc,
|
||||||
}
|
}
|
||||||
|
|
||||||
return &REST{
|
return &REST{
|
||||||
|
|
|
@ -50,6 +50,7 @@ func validNewThirdPartyResourceData(name string) *extensions.ThirdPartyResourceD
|
||||||
func TestCreate(t *testing.T) {
|
func TestCreate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
rsrc := validNewThirdPartyResourceData("foo")
|
rsrc := validNewThirdPartyResourceData("foo")
|
||||||
rsrc.ObjectMeta = api.ObjectMeta{}
|
rsrc.ObjectMeta = api.ObjectMeta{}
|
||||||
|
@ -64,6 +65,7 @@ func TestCreate(t *testing.T) {
|
||||||
func TestUpdate(t *testing.T) {
|
func TestUpdate(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestUpdate(
|
test.TestUpdate(
|
||||||
// valid
|
// valid
|
||||||
|
@ -80,6 +82,7 @@ func TestUpdate(t *testing.T) {
|
||||||
func TestDelete(t *testing.T) {
|
func TestDelete(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestDelete(validNewThirdPartyResourceData("foo"))
|
test.TestDelete(validNewThirdPartyResourceData("foo"))
|
||||||
}
|
}
|
||||||
|
@ -87,6 +90,7 @@ func TestDelete(t *testing.T) {
|
||||||
func TestGet(t *testing.T) {
|
func TestGet(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestGet(validNewThirdPartyResourceData("foo"))
|
test.TestGet(validNewThirdPartyResourceData("foo"))
|
||||||
}
|
}
|
||||||
|
@ -94,6 +98,7 @@ func TestGet(t *testing.T) {
|
||||||
func TestList(t *testing.T) {
|
func TestList(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestList(validNewThirdPartyResourceData("foo"))
|
test.TestList(validNewThirdPartyResourceData("foo"))
|
||||||
}
|
}
|
||||||
|
@ -101,6 +106,7 @@ func TestList(t *testing.T) {
|
||||||
func TestWatch(t *testing.T) {
|
func TestWatch(t *testing.T) {
|
||||||
storage, server := newStorage(t)
|
storage, server := newStorage(t)
|
||||||
defer server.Terminate(t)
|
defer server.Terminate(t)
|
||||||
|
defer storage.Store.DestroyFunc()
|
||||||
test := registrytest.New(t, storage.Store)
|
test := registrytest.New(t, storage.Store)
|
||||||
test.TestWatch(
|
test.TestWatch(
|
||||||
validNewThirdPartyResourceData("foo"),
|
validNewThirdPartyResourceData("foo"),
|
||||||
|
|
|
@ -27,12 +27,16 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"k8s.io/kubernetes/pkg/storage/etcd/etcdtest"
|
||||||
"k8s.io/kubernetes/pkg/storage/etcd/testing/testingcert"
|
"k8s.io/kubernetes/pkg/storage/etcd/testing/testingcert"
|
||||||
|
"k8s.io/kubernetes/pkg/storage/storagebackend"
|
||||||
"k8s.io/kubernetes/pkg/util/wait"
|
"k8s.io/kubernetes/pkg/util/wait"
|
||||||
|
|
||||||
etcd "github.com/coreos/etcd/client"
|
etcd "github.com/coreos/etcd/client"
|
||||||
|
"github.com/coreos/etcd/clientv3"
|
||||||
"github.com/coreos/etcd/etcdserver"
|
"github.com/coreos/etcd/etcdserver"
|
||||||
"github.com/coreos/etcd/etcdserver/api/v2http"
|
"github.com/coreos/etcd/etcdserver/api/v2http"
|
||||||
|
"github.com/coreos/etcd/integration"
|
||||||
"github.com/coreos/etcd/pkg/testutil"
|
"github.com/coreos/etcd/pkg/testutil"
|
||||||
"github.com/coreos/etcd/pkg/transport"
|
"github.com/coreos/etcd/pkg/transport"
|
||||||
"github.com/coreos/etcd/pkg/types"
|
"github.com/coreos/etcd/pkg/types"
|
||||||
|
@ -42,6 +46,8 @@ import (
|
||||||
|
|
||||||
// EtcdTestServer encapsulates the datastructures needed to start local instance for testing
|
// EtcdTestServer encapsulates the datastructures needed to start local instance for testing
|
||||||
type EtcdTestServer struct {
|
type EtcdTestServer struct {
|
||||||
|
// The following are lumped etcd2 test server params
|
||||||
|
// TODO: Deprecate in a post 1.5 release
|
||||||
etcdserver.ServerConfig
|
etcdserver.ServerConfig
|
||||||
PeerListeners, ClientListeners []net.Listener
|
PeerListeners, ClientListeners []net.Listener
|
||||||
Client etcd.Client
|
Client etcd.Client
|
||||||
|
@ -54,6 +60,10 @@ type EtcdTestServer struct {
|
||||||
raftHandler http.Handler
|
raftHandler http.Handler
|
||||||
s *etcdserver.EtcdServer
|
s *etcdserver.EtcdServer
|
||||||
hss []*httptest.Server
|
hss []*httptest.Server
|
||||||
|
|
||||||
|
// The following are lumped etcd3 test server params
|
||||||
|
v3Cluster *integration.ClusterV3
|
||||||
|
v3Client *clientv3.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
// newLocalListener opens a port localhost using any port
|
// newLocalListener opens a port localhost using any port
|
||||||
|
@ -219,6 +229,9 @@ func (m *EtcdTestServer) waitUntilUp() error {
|
||||||
|
|
||||||
// Terminate will shutdown the running etcd server
|
// Terminate will shutdown the running etcd server
|
||||||
func (m *EtcdTestServer) Terminate(t *testing.T) {
|
func (m *EtcdTestServer) Terminate(t *testing.T) {
|
||||||
|
if m.v3Cluster != nil {
|
||||||
|
m.v3Cluster.Terminate(t)
|
||||||
|
} else {
|
||||||
m.Client = nil
|
m.Client = nil
|
||||||
m.s.Stop()
|
m.s.Stop()
|
||||||
// TODO: This is a pretty ugly hack to workaround races during closing
|
// TODO: This is a pretty ugly hack to workaround races during closing
|
||||||
|
@ -241,8 +254,9 @@ func (m *EtcdTestServer) Terminate(t *testing.T) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// NewEtcdTestClientServer creates a new client and server for testing
|
// NewEtcdTestClientServer DEPRECATED creates a new client and server for testing
|
||||||
func NewEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
func NewEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
||||||
server := configureTestCluster(t, "foo", true)
|
server := configureTestCluster(t, "foo", true)
|
||||||
err := server.launch(t)
|
err := server.launch(t)
|
||||||
|
@ -269,7 +283,7 @@ func NewEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
||||||
return server
|
return server
|
||||||
}
|
}
|
||||||
|
|
||||||
// NewUnsecuredEtcdTestClientServer creates a new client and server for testing
|
// NewUnsecuredEtcdTestClientServer DEPRECATED creates a new client and server for testing
|
||||||
func NewUnsecuredEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
func NewUnsecuredEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
||||||
server := configureTestCluster(t, "foo", false)
|
server := configureTestCluster(t, "foo", false)
|
||||||
err := server.launch(t)
|
err := server.launch(t)
|
||||||
|
@ -294,3 +308,18 @@ func NewUnsecuredEtcdTestClientServer(t *testing.T) *EtcdTestServer {
|
||||||
}
|
}
|
||||||
return server
|
return server
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewEtcd3TestClientServer creates a new client and server for testing
|
||||||
|
func NewUnsecuredEtcd3TestClientServer(t *testing.T) (*EtcdTestServer, *storagebackend.Config) {
|
||||||
|
server := &EtcdTestServer{
|
||||||
|
v3Cluster: integration.NewClusterV3(t, &integration.ClusterConfig{Size: 1}),
|
||||||
|
}
|
||||||
|
server.v3Client = server.v3Cluster.RandClient()
|
||||||
|
config := &storagebackend.Config{
|
||||||
|
Type: "etcd3",
|
||||||
|
Prefix: etcdtest.PathPrefix(),
|
||||||
|
ServerList: server.v3Client.Endpoints(),
|
||||||
|
DeserializationCacheSize: etcdtest.DeserializationCacheSize,
|
||||||
|
}
|
||||||
|
return server, config
|
||||||
|
}
|
||||||
|
|
|
@ -36,7 +36,11 @@ func newETCD3Storage(c storagebackend.Config) (storage.Interface, DestroyFunc, e
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, nil, err
|
return nil, nil, err
|
||||||
}
|
}
|
||||||
|
// NOTE: Client relies on nil tlsConfig
|
||||||
|
// for non-secure connections, update the implicit variable
|
||||||
|
if len(c.CertFile) == 0 && len(c.KeyFile) == 0 && len(c.CAFile) == 0 {
|
||||||
|
tlsConfig = nil
|
||||||
|
}
|
||||||
cfg := clientv3.Config{
|
cfg := clientv3.Config{
|
||||||
Endpoints: c.ServerList,
|
Endpoints: c.ServerList,
|
||||||
TLS: tlsConfig,
|
TLS: tlsConfig,
|
||||||
|
|
Loading…
Reference in New Issue