diff --git a/examples/apiserver/rest/reststorage.go b/examples/apiserver/rest/reststorage.go index d68d7278f39..3d8ced15c6b 100644 --- a/examples/apiserver/rest/reststorage.go +++ b/examples/apiserver/rest/reststorage.go @@ -24,14 +24,14 @@ import ( "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/storagebackend" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work with testtype. @@ -49,19 +49,19 @@ func NewREST(config *storagebackend.Config, storageDecorator generic.StorageDeco } storageInterface, _ := storageDecorator( config, 100, &testgroup.TestType{}, prefix, strategy, newListFunc, getAttrs, storage.NoTriggerPublisher) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &testgroup.TestType{} }, // NewListFunc returns an object capable of storing results of an etcd list. NewListFunc: newListFunc, // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix. KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix. KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of the resource. ObjectNameFunc: func(obj runtime.Object) (string, error) { diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index 0c4d118268f..ba3d56bd74c 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -40,7 +40,7 @@ import ( genericoptions "k8s.io/kubernetes/pkg/genericapiserver/options" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/routes" "k8s.io/kubernetes/pkg/runtime/schema" utilerrors "k8s.io/kubernetes/pkg/util/errors" @@ -185,7 +185,7 @@ func Run(s *options.ServerRunOptions) error { deleteCollectionWorkers: s.GenericServerRunOptions.DeleteCollectionWorkers, } if s.GenericServerRunOptions.EnableWatchCache { - restOptionsFactory.storageDecorator = registry.StorageWithCacher + restOptionsFactory.storageDecorator = genericregistry.StorageWithCacher } else { restOptionsFactory.storageDecorator = generic.UndecoratedStorage } diff --git a/federation/registry/cluster/etcd/etcd.go b/federation/registry/cluster/etcd/etcd.go index f4438d15c6a..7bbe2e3e9eb 100644 --- a/federation/registry/cluster/etcd/etcd.go +++ b/federation/registry/cluster/etcd/etcd.go @@ -22,17 +22,17 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/rest" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { @@ -60,14 +60,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &federation.Cluster{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*federation.Cluster).Name, nil diff --git a/pkg/master/master.go b/pkg/master/master.go index 86949e79801..c92a80e32b2 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -43,14 +43,14 @@ import ( "k8s.io/kubernetes/pkg/healthz" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/thirdparty" + "k8s.io/kubernetes/pkg/registry" + "k8s.io/kubernetes/pkg/registry/generic" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" + "k8s.io/kubernetes/pkg/routes" "k8s.io/kubernetes/pkg/runtime/schema" utilnet "k8s.io/kubernetes/pkg/util/net" nodeutil "k8s.io/kubernetes/pkg/util/node" - "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" - "k8s.io/kubernetes/pkg/routes" - "github.com/golang/glog" "github.com/prometheus/client_golang/prometheus" @@ -225,7 +225,7 @@ func (c completedConfig) New() (*Master, error) { } if c.EnableWatchCache { - restOptionsFactory.storageDecorator = registry.StorageWithCacher + restOptionsFactory.storageDecorator = genericregistry.StorageWithCacher } else { restOptionsFactory.storageDecorator = generic.UndecoratedStorage } @@ -244,7 +244,7 @@ func (c completedConfig) New() (*Master, error) { m.InstallLegacyAPI(c.Config, restOptionsFactory.NewFor, legacyRESTStorageProvider) } - restStorageProviders := []genericapiserver.RESTStorageProvider{ + restStorageProviders := []RESTStorageProvider{ appsrest.RESTStorageProvider{}, authenticationrest.RESTStorageProvider{Authenticator: c.GenericConfig.Authenticator}, authorizationrest.RESTStorageProvider{Authorizer: c.GenericConfig.Authorizer}, @@ -265,7 +265,7 @@ func (c completedConfig) New() (*Master, error) { return m, nil } -func (m *Master) InstallLegacyAPI(c *Config, restOptionsGetter genericapiserver.RESTOptionsGetter, legacyRESTStorageProvider corerest.LegacyRESTStorageProvider) { +func (m *Master) InstallLegacyAPI(c *Config, restOptionsGetter registry.RESTOptionsGetter, legacyRESTStorageProvider corerest.LegacyRESTStorageProvider) { legacyRESTStorage, apiGroupInfo, err := legacyRESTStorageProvider.NewLegacyRESTStorage(restOptionsGetter) if err != nil { glog.Fatalf("Error building core storage: %v", err) @@ -293,8 +293,14 @@ func (m *Master) installTunneler(tunneler genericapiserver.Tunneler, nodeClient }, func() float64 { return float64(tunneler.SecondsSinceSync()) }) } +// RESTStorageProvider is a factory type for REST storage. +type RESTStorageProvider interface { + GroupName() string + NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) +} + // InstallAPIs will install the APIs for the restStorageProviders if they are enabled. -func (m *Master) InstallAPIs(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter, restStorageProviders ...genericapiserver.RESTStorageProvider) { +func (m *Master) InstallAPIs(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter, restStorageProviders ...RESTStorageProvider) { apiGroupsInfo := []genericapiserver.APIGroupInfo{} for _, restStorageBuilder := range restStorageProviders { diff --git a/pkg/registry/apps/petset/etcd/etcd.go b/pkg/registry/apps/petset/etcd/etcd.go index 5b4ced6a14f..271b36cf1b1 100644 --- a/pkg/registry/apps/petset/etcd/etcd.go +++ b/pkg/registry/apps/petset/etcd/etcd.go @@ -23,14 +23,14 @@ import ( "k8s.io/kubernetes/pkg/registry/apps/petset" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // rest implements a RESTStorage for replication controllers against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against replication controllers. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &appsapi.StatefulSet{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a statefulSet that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a statefulSet that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a replication controller ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -91,7 +91,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of an statefulSet type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/apps/rest/storage_apps.go b/pkg/registry/apps/rest/storage_apps.go index dd6d345d923..057251a602e 100644 --- a/pkg/registry/apps/rest/storage_apps.go +++ b/pkg/registry/apps/rest/storage_apps.go @@ -21,14 +21,13 @@ import ( "k8s.io/kubernetes/pkg/apis/apps" appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" statefulsetetcd "k8s.io/kubernetes/pkg/registry/apps/petset/etcd" ) type RESTStorageProvider struct{} -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(apps.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(appsapiv1beta1.SchemeGroupVersion) { @@ -39,7 +38,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := appsapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/authentication/rest/storage_authentication.go b/pkg/registry/authentication/rest/storage_authentication.go index 0e96195e74c..1ee8b4f9b23 100644 --- a/pkg/registry/authentication/rest/storage_authentication.go +++ b/pkg/registry/authentication/rest/storage_authentication.go @@ -22,6 +22,7 @@ import ( authenticationv1beta1 "k8s.io/kubernetes/pkg/apis/authentication/v1beta1" "k8s.io/kubernetes/pkg/auth/authenticator" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" "k8s.io/kubernetes/pkg/registry/authentication/tokenreview" ) @@ -29,9 +30,7 @@ type RESTStorageProvider struct { Authenticator authenticator.Request } -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { // TODO figure out how to make the swagger generation stable, while allowing this endpoint to be disabled. // if p.Authenticator == nil { // return genericapiserver.APIGroupInfo{}, false @@ -47,7 +46,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := authenticationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/authorization/rest/storage_authorization.go b/pkg/registry/authorization/rest/storage_authorization.go index 68cd4f48373..b4e951e8d82 100644 --- a/pkg/registry/authorization/rest/storage_authorization.go +++ b/pkg/registry/authorization/rest/storage_authorization.go @@ -22,6 +22,7 @@ import ( authorizationv1beta1 "k8s.io/kubernetes/pkg/apis/authorization/v1beta1" "k8s.io/kubernetes/pkg/auth/authorizer" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" "k8s.io/kubernetes/pkg/registry/authorization/localsubjectaccessreview" "k8s.io/kubernetes/pkg/registry/authorization/selfsubjectaccessreview" "k8s.io/kubernetes/pkg/registry/authorization/subjectaccessreview" @@ -31,9 +32,7 @@ type RESTStorageProvider struct { Authorizer authorizer.Authorizer } -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { if p.Authorizer == nil { return genericapiserver.APIGroupInfo{}, false } @@ -48,7 +47,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := authorizationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go index 31e4f9442df..7703c68b822 100644 --- a/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go +++ b/pkg/registry/autoscaling/horizontalpodautoscaler/etcd/etcd.go @@ -23,13 +23,13 @@ import ( "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against horizontal pod autoscalers. @@ -48,19 +48,19 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &autoscaling.HorizontalPodAutoscaler{} }, // NewListFunc returns an object capable of storing results of an etcd list. NewListFunc: newListFunc, // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of an autoscaler ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -89,7 +89,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a daemonset type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/autoscaling/rest/storage_autoscaling.go b/pkg/registry/autoscaling/rest/storage_autoscaling.go index 3eabd17b695..7fcf035e8cc 100644 --- a/pkg/registry/autoscaling/rest/storage_autoscaling.go +++ b/pkg/registry/autoscaling/rest/storage_autoscaling.go @@ -21,14 +21,13 @@ import ( "k8s.io/kubernetes/pkg/apis/autoscaling" autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" horizontalpodautoscaleretcd "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler/etcd" ) type RESTStorageProvider struct{} -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(autoscaling.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(autoscalingapiv1.SchemeGroupVersion) { @@ -39,7 +38,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := autoscalingapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/batch/cronjob/etcd/etcd.go b/pkg/registry/batch/cronjob/etcd/etcd.go index 892a889200f..9d59ffe0601 100644 --- a/pkg/registry/batch/cronjob/etcd/etcd.go +++ b/pkg/registry/batch/cronjob/etcd/etcd.go @@ -23,14 +23,14 @@ import ( "k8s.io/kubernetes/pkg/registry/batch/cronjob" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // REST implements a RESTStorage for scheduled jobs against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against CronJobs. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &batch.CronJob{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a scheduled job ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -93,7 +93,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a resourcequota. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/batch/job/etcd/etcd.go b/pkg/registry/batch/job/etcd/etcd.go index 03562e8d0de..9c2b05a4163 100644 --- a/pkg/registry/batch/job/etcd/etcd.go +++ b/pkg/registry/batch/job/etcd/etcd.go @@ -23,14 +23,14 @@ import ( "k8s.io/kubernetes/pkg/registry/batch/job" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // REST implements a RESTStorage for jobs against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against Jobs. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &batch.Job{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a job ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -93,7 +93,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a resourcequota. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/batch/rest/storage_batch.go b/pkg/registry/batch/rest/storage_batch.go index d8d193afce7..9d0f15b33c3 100644 --- a/pkg/registry/batch/rest/storage_batch.go +++ b/pkg/registry/batch/rest/storage_batch.go @@ -22,6 +22,7 @@ import ( batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" batchapiv2alpha1 "k8s.io/kubernetes/pkg/apis/batch/v2alpha1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" cronjobetcd "k8s.io/kubernetes/pkg/registry/batch/cronjob/etcd" jobetcd "k8s.io/kubernetes/pkg/registry/batch/job/etcd" "k8s.io/kubernetes/pkg/runtime/schema" @@ -29,9 +30,7 @@ import ( type RESTStorageProvider struct{} -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(batch.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { @@ -50,7 +49,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -62,7 +61,7 @@ func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver. return storage } -func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv2alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/certificates/certificates/etcd/etcd.go b/pkg/registry/certificates/certificates/etcd/etcd.go index 83f6ee481e7..4c84d02b351 100644 --- a/pkg/registry/certificates/certificates/etcd/etcd.go +++ b/pkg/registry/certificates/certificates/etcd/etcd.go @@ -25,14 +25,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" csrregistry "k8s.io/kubernetes/pkg/registry/certificates/certificates" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // REST implements a RESTStorage for CertificateSigningRequest against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a registry which will store CertificateSigningRequest in the given helper @@ -51,14 +51,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *ApprovalREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &certificates.CertificateSigningRequest{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*certificates.CertificateSigningRequest).Name, nil @@ -92,7 +92,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *ApprovalREST) { // StatusREST implements the REST endpoint for changing the status of a CSR. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { @@ -106,7 +106,7 @@ func (r *StatusREST) Update(ctx api.Context, name string, objInfo rest.UpdatedOb // ApprovalREST implements the REST endpoint for changing the approval state of a CSR. type ApprovalREST struct { - store *registry.Store + store *genericregistry.Store } func (r *ApprovalREST) New() runtime.Object { diff --git a/pkg/registry/certificates/rest/storage_certificates.go b/pkg/registry/certificates/rest/storage_certificates.go index bc3349cfc43..ba7c408b4a0 100644 --- a/pkg/registry/certificates/rest/storage_certificates.go +++ b/pkg/registry/certificates/rest/storage_certificates.go @@ -21,14 +21,13 @@ import ( "k8s.io/kubernetes/pkg/apis/certificates" certificatesapiv1alpha1 "k8s.io/kubernetes/pkg/apis/certificates/v1alpha1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" certificateetcd "k8s.io/kubernetes/pkg/registry/certificates/certificates/etcd" ) type RESTStorageProvider struct{} -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1alpha1.SchemeGroupVersion) { @@ -39,7 +38,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := certificatesapiv1alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/core/configmap/etcd/etcd.go b/pkg/registry/core/configmap/etcd/etcd.go index f661bb66c30..329bb6fcacf 100644 --- a/pkg/registry/core/configmap/etcd/etcd.go +++ b/pkg/registry/core/configmap/etcd/etcd.go @@ -21,14 +21,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/configmap" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // REST implements a RESTStorage for ConfigMap against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work with ConfigMap objects. @@ -46,7 +46,7 @@ func NewREST(opts generic.RESTOptions) *REST { configmap.GetAttrs, storage.NoTriggerPublisher) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.ConfigMap{} }, @@ -57,13 +57,13 @@ func NewREST(opts generic.RESTOptions) *REST { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix. KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieves the name field of a ConfigMap object. diff --git a/pkg/registry/core/controller/etcd/etcd.go b/pkg/registry/core/controller/etcd/etcd.go index ac7874386ae..e43d2817cce 100644 --- a/pkg/registry/core/controller/etcd/etcd.go +++ b/pkg/registry/core/controller/etcd/etcd.go @@ -30,7 +30,7 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/controller" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) @@ -54,7 +54,7 @@ func NewStorage(opts generic.RESTOptions) ControllerStorage { } type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against replication controllers. @@ -73,7 +73,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.ReplicationController{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -81,12 +81,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a replication controller ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -117,7 +117,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a replication controller type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/core/endpoint/etcd/etcd.go b/pkg/registry/core/endpoint/etcd/etcd.go index 4e1a1de242b..494e5fc4332 100644 --- a/pkg/registry/core/endpoint/etcd/etcd.go +++ b/pkg/registry/core/endpoint/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/endpoint" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against endpoints. @@ -46,14 +46,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Endpoints{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Endpoints).Name, nil diff --git a/pkg/registry/core/event/etcd/etcd.go b/pkg/registry/core/event/etcd/etcd.go index e439b88b72a..83ad7789783 100644 --- a/pkg/registry/core/event/etcd/etcd.go +++ b/pkg/registry/core/event/etcd/etcd.go @@ -20,12 +20,12 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/registry/core/event" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against events. @@ -36,14 +36,14 @@ func NewREST(opts generic.RESTOptions, ttl uint64) *REST { // for events will lead to too high memory consumption. storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Event{} }, NewListFunc: func() runtime.Object { return &api.EventList{} }, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Event).Name, nil diff --git a/pkg/registry/core/limitrange/etcd/etcd.go b/pkg/registry/core/limitrange/etcd/etcd.go index f3b251ed83e..86a46e4ad50 100644 --- a/pkg/registry/core/limitrange/etcd/etcd.go +++ b/pkg/registry/core/limitrange/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/limitrange" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against horizontal pod autoscalers. @@ -46,14 +46,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.LimitRange{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.LimitRange).Name, nil diff --git a/pkg/registry/core/namespace/etcd/etcd.go b/pkg/registry/core/namespace/etcd/etcd.go index d8bbfb4b1d6..67ba3631a9f 100644 --- a/pkg/registry/core/namespace/etcd/etcd.go +++ b/pkg/registry/core/namespace/etcd/etcd.go @@ -27,25 +27,25 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/namespace" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // rest implements a RESTStorage for namespaces against etcd type REST struct { - *registry.Store - status *registry.Store + *genericregistry.Store + status *genericregistry.Store } // StatusREST implements the REST endpoint for changing the status of a namespace. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } // FinalizeREST implements the REST endpoint for finalizing a namespace. type FinalizeREST struct { - store *registry.Store + store *genericregistry.Store } // NewREST returns a RESTStorage object that will work against namespaces. @@ -64,14 +64,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *FinalizeREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Namespace{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Namespace).Name, nil diff --git a/pkg/registry/core/node/etcd/etcd.go b/pkg/registry/core/node/etcd/etcd.go index 69f43536b60..3b1b1e9a738 100644 --- a/pkg/registry/core/node/etcd/etcd.go +++ b/pkg/registry/core/node/etcd/etcd.go @@ -29,7 +29,7 @@ import ( "k8s.io/kubernetes/pkg/registry/core/node" noderest "k8s.io/kubernetes/pkg/registry/core/node/rest" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" ) @@ -43,14 +43,14 @@ type NodeStorage struct { } type REST struct { - *registry.Store + *genericregistry.Store connection client.ConnectionInfoGetter proxyTransport http.RoundTripper } // StatusREST implements the REST endpoint for changing the status of a pod. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { @@ -82,14 +82,14 @@ func NewStorage(opts generic.RESTOptions, kubeletClientConfig client.KubeletClie node.GetAttrs, node.NodeNameTriggerFunc) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Node{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Node).Name, nil diff --git a/pkg/registry/core/node/rest/proxy.go b/pkg/registry/core/node/rest/proxy.go index 940c414f3e3..c4dc023071b 100644 --- a/pkg/registry/core/node/rest/proxy.go +++ b/pkg/registry/core/node/rest/proxy.go @@ -27,14 +27,14 @@ import ( "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/registry/core/node" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" "k8s.io/kubernetes/pkg/runtime" ) // ProxyREST implements the proxy subresource for a Node type ProxyREST struct { - Store *registry.Store + Store *genericregistry.Store Connection client.ConnectionInfoGetter ProxyTransport http.RoundTripper } diff --git a/pkg/registry/core/persistentvolume/etcd/etcd.go b/pkg/registry/core/persistentvolume/etcd/etcd.go index b4773507e64..fdb7e75b6ee 100644 --- a/pkg/registry/core/persistentvolume/etcd/etcd.go +++ b/pkg/registry/core/persistentvolume/etcd/etcd.go @@ -22,13 +22,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/persistentvolume" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against persistent volumes. @@ -47,14 +47,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.PersistentVolume{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.PersistentVolume).Name, nil @@ -81,7 +81,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a persistentvolume. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go b/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go index c77650f113f..90eb4b62233 100644 --- a/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go +++ b/pkg/registry/core/persistentvolumeclaim/etcd/etcd.go @@ -22,13 +22,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/persistentvolumeclaim" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against persistent volume claims. @@ -47,14 +47,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.PersistentVolumeClaim{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.PersistentVolumeClaim).Name, nil @@ -81,7 +81,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a persistentvolumeclaim. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/core/pod/etcd/etcd.go b/pkg/registry/core/pod/etcd/etcd.go index 9d3f5b066f2..a6a198cea3f 100644 --- a/pkg/registry/core/pod/etcd/etcd.go +++ b/pkg/registry/core/pod/etcd/etcd.go @@ -33,7 +33,7 @@ import ( "k8s.io/kubernetes/pkg/registry/core/pod" podrest "k8s.io/kubernetes/pkg/registry/core/pod/rest" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) @@ -53,7 +53,7 @@ type PodStorage struct { // REST implements a RESTStorage for pods against etcd type REST struct { - *registry.Store + *genericregistry.Store proxyTransport http.RoundTripper } @@ -73,14 +73,14 @@ func NewStorage(opts generic.RESTOptions, k client.ConnectionInfoGetter, proxyTr pod.NodeNameTriggerFunc, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Pod{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Pod).Name, nil @@ -125,7 +125,7 @@ func (r *REST) ResourceLocation(ctx api.Context, name string) (*url.URL, http.Ro // BindingREST implements the REST endpoint for binding pods to nodes when etcd is in use. type BindingREST struct { - store *registry.Store + store *genericregistry.Store } // New creates a new binding resource @@ -199,7 +199,7 @@ func (r *BindingREST) assignPod(ctx api.Context, podID string, machine string, a // StatusREST implements the REST endpoint for changing the status of a pod. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } // New creates a new pod resource diff --git a/pkg/registry/core/pod/etcd/eviction.go b/pkg/registry/core/pod/etcd/eviction.go index 138c9449532..b2839d3892b 100644 --- a/pkg/registry/core/pod/etcd/eviction.go +++ b/pkg/registry/core/pod/etcd/eviction.go @@ -28,7 +28,7 @@ import ( policyclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/policy/internalversion" "k8s.io/kubernetes/pkg/client/retry" "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/util/wait" ) @@ -52,13 +52,13 @@ var EvictionsRetry = wait.Backoff{ Jitter: 0.1, } -func newEvictionStorage(store *registry.Store, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) *EvictionREST { +func newEvictionStorage(store *genericregistry.Store, podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter) *EvictionREST { return &EvictionREST{store: store, podDisruptionBudgetClient: podDisruptionBudgetClient} } // EvictionREST implements the REST endpoint for evicting pods from nodes when etcd is in use. type EvictionREST struct { - store *registry.Store + store *genericregistry.Store podDisruptionBudgetClient policyclient.PodDisruptionBudgetsGetter } diff --git a/pkg/registry/core/pod/rest/log.go b/pkg/registry/core/pod/rest/log.go index e396b61732c..5f14e95dd7d 100644 --- a/pkg/registry/core/pod/rest/log.go +++ b/pkg/registry/core/pod/rest/log.go @@ -25,7 +25,7 @@ import ( "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/registry/core/pod" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" "k8s.io/kubernetes/pkg/runtime" ) @@ -33,7 +33,7 @@ import ( // LogREST implements the log endpoint for a Pod type LogREST struct { KubeletConn client.ConnectionInfoGetter - Store *registry.Store + Store *genericregistry.Store } // LogREST implements GetterWithOptions diff --git a/pkg/registry/core/pod/rest/log_test.go b/pkg/registry/core/pod/rest/log_test.go index eb2032e4bbe..90a23de233c 100644 --- a/pkg/registry/core/pod/rest/log_test.go +++ b/pkg/registry/core/pod/rest/log_test.go @@ -22,7 +22,7 @@ import ( "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/errors" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/registrytest" ) @@ -31,7 +31,7 @@ func TestPodLogValidates(t *testing.T) { defer server.Terminate(t) s, destroyFunc := generic.NewRawStorage(config) defer destroyFunc() - store := ®istry.Store{ + store := &genericregistry.Store{ Storage: s, } logRest := &LogREST{Store: store, KubeletConn: nil} diff --git a/pkg/registry/core/pod/rest/subresources.go b/pkg/registry/core/pod/rest/subresources.go index cc4073db5a6..40a1088a7a7 100644 --- a/pkg/registry/core/pod/rest/subresources.go +++ b/pkg/registry/core/pod/rest/subresources.go @@ -27,14 +27,14 @@ import ( "k8s.io/kubernetes/pkg/capabilities" "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/registry/core/pod" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" genericrest "k8s.io/kubernetes/pkg/registry/generic/rest" "k8s.io/kubernetes/pkg/runtime" ) // ProxyREST implements the proxy subresource for a Pod type ProxyREST struct { - Store *registry.Store + Store *genericregistry.Store ProxyTransport http.RoundTripper } @@ -78,7 +78,7 @@ var upgradeableMethods = []string{"GET", "POST"} // AttachREST implements the attach subresource for a Pod type AttachREST struct { - Store *registry.Store + Store *genericregistry.Store KubeletConn client.ConnectionInfoGetter } @@ -115,7 +115,7 @@ func (r *AttachREST) ConnectMethods() []string { // ExecREST implements the exec subresource for a Pod type ExecREST struct { - Store *registry.Store + Store *genericregistry.Store KubeletConn client.ConnectionInfoGetter } @@ -152,7 +152,7 @@ func (r *ExecREST) ConnectMethods() []string { // PortForwardREST implements the portforward subresource for a Pod type PortForwardREST struct { - Store *registry.Store + Store *genericregistry.Store KubeletConn client.ConnectionInfoGetter } diff --git a/pkg/registry/core/podtemplate/etcd/etcd.go b/pkg/registry/core/podtemplate/etcd/etcd.go index 75d6e44895f..8348de85d7e 100644 --- a/pkg/registry/core/podtemplate/etcd/etcd.go +++ b/pkg/registry/core/podtemplate/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/podtemplate" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against pod templates. @@ -46,14 +46,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.PodTemplate{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.PodTemplate).Name, nil diff --git a/pkg/registry/core/resourcequota/etcd/etcd.go b/pkg/registry/core/resourcequota/etcd/etcd.go index 734dc7c48c8..523962b851f 100644 --- a/pkg/registry/core/resourcequota/etcd/etcd.go +++ b/pkg/registry/core/resourcequota/etcd/etcd.go @@ -22,13 +22,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/resourcequota" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against resource quotas. @@ -47,14 +47,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.ResourceQuota{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.ResourceQuota).Name, nil @@ -81,7 +81,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a resourcequota. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/core/rest/storage_core.go b/pkg/registry/core/rest/storage_core.go index 008cb681ad2..e10ba88306d 100644 --- a/pkg/registry/core/rest/storage_core.go +++ b/pkg/registry/core/rest/storage_core.go @@ -36,6 +36,7 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master/ports" + "k8s.io/kubernetes/pkg/registry" "k8s.io/kubernetes/pkg/registry/core/componentstatus" configmapetcd "k8s.io/kubernetes/pkg/registry/core/configmap/etcd" controlleretcd "k8s.io/kubernetes/pkg/registry/core/controller/etcd" @@ -59,7 +60,6 @@ import ( ipallocator "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" "k8s.io/kubernetes/pkg/registry/core/service/portallocator" serviceaccountetcd "k8s.io/kubernetes/pkg/registry/core/serviceaccount/etcd" - "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/runtime/schema" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" utilnet "k8s.io/kubernetes/pkg/util/net" @@ -89,7 +89,7 @@ type LegacyRESTStorage struct { ServiceNodePortAllocator rangeallocation.RangeRegistry } -func (c LegacyRESTStorageProvider) NewLegacyRESTStorage(restOptionsGetter genericapiserver.RESTOptionsGetter) (LegacyRESTStorage, genericapiserver.APIGroupInfo, error) { +func (c LegacyRESTStorageProvider) NewLegacyRESTStorage(restOptionsGetter registry.RESTOptionsGetter) (LegacyRESTStorage, genericapiserver.APIGroupInfo, error) { apiGroupInfo := genericapiserver.APIGroupInfo{ GroupMeta: *registered.GroupOrDie(api.GroupName), VersionedResourcesStorageMap: map[string]map[string]rest.Storage{}, diff --git a/pkg/registry/core/secret/etcd/etcd.go b/pkg/registry/core/secret/etcd/etcd.go index ada4a99f484..104cd807bd0 100644 --- a/pkg/registry/core/secret/etcd/etcd.go +++ b/pkg/registry/core/secret/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/secret" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against secrets. @@ -46,14 +46,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Secret{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Secret).Name, nil diff --git a/pkg/registry/core/service/etcd/etcd.go b/pkg/registry/core/service/etcd/etcd.go index 17b5a407f3f..6c230d162c8 100644 --- a/pkg/registry/core/service/etcd/etcd.go +++ b/pkg/registry/core/service/etcd/etcd.go @@ -22,13 +22,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/service" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against services. @@ -47,14 +47,14 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.Service{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.Service).Name, nil @@ -79,7 +79,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a service. type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/core/serviceaccount/etcd/etcd.go b/pkg/registry/core/serviceaccount/etcd/etcd.go index c9ee79335ee..f88908f3ab6 100644 --- a/pkg/registry/core/serviceaccount/etcd/etcd.go +++ b/pkg/registry/core/serviceaccount/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/core/serviceaccount" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against service accounts. @@ -46,14 +46,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &api.ServiceAccount{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*api.ServiceAccount).Name, nil diff --git a/pkg/registry/extensions/daemonset/etcd/etcd.go b/pkg/registry/extensions/daemonset/etcd/etcd.go index 14448c7a244..8a6e66b7f9b 100644 --- a/pkg/registry/extensions/daemonset/etcd/etcd.go +++ b/pkg/registry/extensions/daemonset/etcd/etcd.go @@ -23,14 +23,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/daemonset" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // rest implements a RESTStorage for DaemonSets against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against DaemonSets. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.DaemonSet{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a daemon set ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -92,7 +92,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a daemonset type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/extensions/deployment/etcd/etcd.go b/pkg/registry/extensions/deployment/etcd/etcd.go index 716c8a7fe35..66e246000fd 100644 --- a/pkg/registry/extensions/deployment/etcd/etcd.go +++ b/pkg/registry/extensions/deployment/etcd/etcd.go @@ -30,7 +30,7 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/deployment" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) @@ -56,7 +56,7 @@ func NewStorage(opts generic.RESTOptions) DeploymentStorage { } type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against deployments. @@ -75,19 +75,19 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *RollbackREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.Deployment{} }, // NewListFunc returns an object capable of storing results of an etcd list. NewListFunc: newListFunc, // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix. KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix. KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a deployment. ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -116,7 +116,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST, *RollbackREST) { // StatusREST implements the REST endpoint for changing the status of a deployment type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { @@ -135,7 +135,7 @@ func (r *StatusREST) Update(ctx api.Context, name string, objInfo rest.UpdatedOb // RollbackREST implements the REST endpoint for initiating the rollback of a deployment type RollbackREST struct { - store *registry.Store + store *genericregistry.Store } // New creates a rollback diff --git a/pkg/registry/extensions/ingress/etcd/etcd.go b/pkg/registry/extensions/ingress/etcd/etcd.go index 5c439b9d576..dc61878c56c 100644 --- a/pkg/registry/extensions/ingress/etcd/etcd.go +++ b/pkg/registry/extensions/ingress/etcd/etcd.go @@ -23,14 +23,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" ingress "k8s.io/kubernetes/pkg/registry/extensions/ingress" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // rest implements a RESTStorage for replication controllers against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against replication controllers. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.Ingress{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a ingress that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a ingress that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a replication controller ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -91,7 +91,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of an ingress type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/extensions/networkpolicy/etcd/etcd.go b/pkg/registry/extensions/networkpolicy/etcd/etcd.go index f56467b4f00..db610f822aa 100644 --- a/pkg/registry/extensions/networkpolicy/etcd/etcd.go +++ b/pkg/registry/extensions/networkpolicy/etcd/etcd.go @@ -22,14 +22,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/networkpolicy" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // rest implements a RESTStorage for network policies against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against network policies. @@ -48,7 +48,7 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensionsapi.NetworkPolicy{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -56,12 +56,12 @@ func NewREST(opts generic.RESTOptions) *REST { // Produces a NetworkPolicy that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a NetworkPolicy that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a network policy ObjectNameFunc: func(obj runtime.Object) (string, error) { diff --git a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go index 4ea862398f1..504d390397d 100644 --- a/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go +++ b/pkg/registry/extensions/podsecuritypolicy/etcd/etcd.go @@ -22,14 +22,14 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/podsecuritypolicy" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) // REST implements a RESTStorage for PodSecurityPolicies against etcd. type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against PodSecurityPolicy objects. @@ -48,14 +48,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.PodSecurityPolicy{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*extensions.PodSecurityPolicy).Name, nil diff --git a/pkg/registry/extensions/replicaset/etcd/etcd.go b/pkg/registry/extensions/replicaset/etcd/etcd.go index ee9ca3fc433..1eab9ac2761 100644 --- a/pkg/registry/extensions/replicaset/etcd/etcd.go +++ b/pkg/registry/extensions/replicaset/etcd/etcd.go @@ -29,7 +29,7 @@ import ( "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/extensions/replicaset" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) @@ -53,7 +53,7 @@ func NewStorage(opts generic.RESTOptions) ReplicaSetStorage { } type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against ReplicaSet. @@ -72,7 +72,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.ReplicaSet{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -80,12 +80,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a path that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a path that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a ReplicaSet ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -115,7 +115,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of a ReplicaSet type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/extensions/rest/storage_extensions.go b/pkg/registry/extensions/rest/storage_extensions.go index 8abd8d73753..70499508adb 100644 --- a/pkg/registry/extensions/rest/storage_extensions.go +++ b/pkg/registry/extensions/rest/storage_extensions.go @@ -28,6 +28,7 @@ import ( extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" extensionsclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/extensions/internalversion" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" horizontalpodautoscaleretcd "k8s.io/kubernetes/pkg/registry/autoscaling/horizontalpodautoscaler/etcd" jobetcd "k8s.io/kubernetes/pkg/registry/batch/job/etcd" expcontrolleretcd "k8s.io/kubernetes/pkg/registry/extensions/controller/etcd" @@ -46,9 +47,7 @@ type RESTStorageProvider struct { ResourceInterface ResourceInterface } -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(extensions.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(extensionsapiv1beta1.SchemeGroupVersion) { @@ -59,7 +58,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := extensionsapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go b/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go index 9dc019d0d52..f147e979035 100644 --- a/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go +++ b/pkg/registry/extensions/thirdpartyresource/etcd/etcd.go @@ -21,13 +21,13 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresource" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ThirdPartyResources against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a registry which will store ThirdPartyResource in the given helper @@ -37,14 +37,14 @@ func NewREST(opts generic.RESTOptions) *REST { // We explicitly do NOT do any decoration here yet. storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.ThirdPartyResource{} }, NewListFunc: func() runtime.Object { return &extensions.ThirdPartyResourceList{} }, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*extensions.ThirdPartyResource).Name, nil diff --git a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go index 609299eb961..7ce3d611a6a 100644 --- a/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go +++ b/pkg/registry/extensions/thirdpartyresourcedata/etcd/etcd.go @@ -23,13 +23,13 @@ import ( "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/registry/extensions/thirdpartyresourcedata" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" ) // REST implements a RESTStorage for ThirdPartyResourceDatas against etcd type REST struct { - *registry.Store + *genericregistry.Store kind string } @@ -40,14 +40,14 @@ func NewREST(opts generic.RESTOptions, group, kind string) *REST { // We explicitly do NOT do any decoration here yet. storageInterface, dFunc := generic.NewRawStorage(opts.StorageConfig) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &extensions.ThirdPartyResourceData{} }, NewListFunc: func() runtime.Object { return &extensions.ThirdPartyResourceDataList{} }, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*extensions.ThirdPartyResourceData).Name, nil diff --git a/pkg/registry/generic/options.go b/pkg/registry/generic/options.go index b856ca4f2e5..73f7db9c238 100644 --- a/pkg/registry/generic/options.go +++ b/pkg/registry/generic/options.go @@ -16,7 +16,9 @@ limitations under the License. package generic -import "k8s.io/kubernetes/pkg/storage/storagebackend" +import ( + "k8s.io/kubernetes/pkg/storage/storagebackend" +) // RESTOptions is set of configuration options to generic registries. type RESTOptions struct { diff --git a/pkg/registry/generic/registry/store.go b/pkg/registry/generic/registry/store.go index 85d1f2733a0..e5d99a92f16 100644 --- a/pkg/registry/generic/registry/store.go +++ b/pkg/registry/generic/registry/store.go @@ -43,7 +43,7 @@ import ( "github.com/golang/glog" ) -// Store implements generic.Registry. +// Store implements pkg/api/rest.StandardStorage. // It's intended to be embeddable, so that you can implement any // non-generic functions if needed. // You must supply a value for every field below before use; these are @@ -126,6 +126,8 @@ type Store struct { Storage storage.Interface } +var _ rest.StandardStorage = &Store{} + const OptimisticLockErrorMsg = "the object has been modified; please apply your changes to the latest version and try again" // NamespaceKeyRootFunc is the default function for constructing storage paths to resource directories enforcing namespace rules. diff --git a/pkg/genericapiserver/reststorage_interfaces.go b/pkg/registry/interfaces.go similarity index 78% rename from pkg/genericapiserver/reststorage_interfaces.go rename to pkg/registry/interfaces.go index 740b140a1d2..7f8eea357fa 100644 --- a/pkg/genericapiserver/reststorage_interfaces.go +++ b/pkg/registry/interfaces.go @@ -14,16 +14,12 @@ See the License for the specific language governing permissions and limitations under the License. */ -package genericapiserver +package registry import ( "k8s.io/kubernetes/pkg/registry/generic" "k8s.io/kubernetes/pkg/runtime/schema" ) +// RESTOptionsGetter is a function type for returning RESTOptions for a GroupVersion. type RESTOptionsGetter func(resource schema.GroupResource) generic.RESTOptions - -type RESTStorageProvider interface { - GroupName() string - NewRESTStorage(apiResourceConfigSource APIResourceConfigSource, restOptionsGetter RESTOptionsGetter) (APIGroupInfo, bool) -} diff --git a/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go b/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go index 95b9f6efb75..8ca2859dd08 100644 --- a/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go +++ b/pkg/registry/policy/poddisruptionbudget/etcd/etcd.go @@ -22,7 +22,7 @@ import ( policyapi "k8s.io/kubernetes/pkg/apis/policy" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/policy/poddisruptionbudget" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" @@ -30,7 +30,7 @@ import ( // rest implements a RESTStorage for pod disruption budgets against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against pod disruption budgets. @@ -49,7 +49,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &policyapi.PodDisruptionBudget{} }, // NewListFunc returns an object capable of storing results of an etcd list. @@ -57,12 +57,12 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // Produces a podDisruptionBudget that etcd understands, to the root of the resource // by combining the namespace in the context with the given prefix KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, // Produces a podDisruptionBudget that etcd understands, to the resource by combining // the namespace in the context with the given prefix KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NamespaceKeyFunc(ctx, prefix, name) }, // Retrieve the name field of a pod disruption budget ObjectNameFunc: func(obj runtime.Object) (string, error) { @@ -91,7 +91,7 @@ func NewREST(opts generic.RESTOptions) (*REST, *StatusREST) { // StatusREST implements the REST endpoint for changing the status of an podDisruptionBudget type StatusREST struct { - store *registry.Store + store *genericregistry.Store } func (r *StatusREST) New() runtime.Object { diff --git a/pkg/registry/policy/rest/storage_policy.go b/pkg/registry/policy/rest/storage_policy.go index cd70b38c446..777774bc8a0 100644 --- a/pkg/registry/policy/rest/storage_policy.go +++ b/pkg/registry/policy/rest/storage_policy.go @@ -21,14 +21,13 @@ import ( "k8s.io/kubernetes/pkg/apis/policy" policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" poddisruptionbudgetetcd "k8s.io/kubernetes/pkg/registry/policy/poddisruptionbudget/etcd" ) type RESTStorageProvider struct{} -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(policy.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(policyapiv1beta1.SchemeGroupVersion) { @@ -38,7 +37,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := policyapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} if apiResourceConfigSource.ResourceEnabled(version.WithResource("poddisruptionbudgets")) { diff --git a/pkg/registry/rbac/clusterrole/etcd/etcd.go b/pkg/registry/rbac/clusterrole/etcd/etcd.go index 28b483495b7..3319b0234d0 100644 --- a/pkg/registry/rbac/clusterrole/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrole/etcd/etcd.go @@ -21,7 +21,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" @@ -29,7 +29,7 @@ import ( // REST implements a RESTStorage for ClusterRole against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against ClusterRole objects. @@ -48,14 +48,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &rbac.ClusterRole{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*rbac.ClusterRole).Name, nil diff --git a/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go index 12f52780a27..a28fd0b1552 100644 --- a/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/clusterrolebinding/etcd/etcd.go @@ -21,7 +21,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/clusterrolebinding" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" @@ -29,7 +29,7 @@ import ( // REST implements a RESTStorage for ClusterRoleBinding against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against ClusterRoleBinding objects. @@ -48,14 +48,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &rbac.ClusterRoleBinding{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*rbac.ClusterRoleBinding).Name, nil diff --git a/pkg/registry/rbac/rest/storage_rbac.go b/pkg/registry/rbac/rest/storage_rbac.go index 4bf4560eaee..83eb36a02fd 100644 --- a/pkg/registry/rbac/rest/storage_rbac.go +++ b/pkg/registry/rbac/rest/storage_rbac.go @@ -29,6 +29,7 @@ import ( rbacvalidation "k8s.io/kubernetes/pkg/apis/rbac/validation" rbacclient "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/typed/rbac/internalversion" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" "k8s.io/kubernetes/pkg/registry/rbac/clusterrole" clusterroleetcd "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/etcd" clusterrolepolicybased "k8s.io/kubernetes/pkg/registry/rbac/clusterrole/policybased" @@ -49,10 +50,9 @@ type RESTStorageProvider struct { AuthorizerRBACSuperUser string } -var _ genericapiserver.RESTStorageProvider = RESTStorageProvider{} var _ genericapiserver.PostStartHookProvider = RESTStorageProvider{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(rbac.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(rbacapiv1alpha1.SchemeGroupVersion) { @@ -63,7 +63,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := rbacapiv1alpha1.SchemeGroupVersion once := new(sync.Once) diff --git a/pkg/registry/rbac/role/etcd/etcd.go b/pkg/registry/rbac/role/etcd/etcd.go index 53d0e4eca4b..e5a8f491f5e 100644 --- a/pkg/registry/rbac/role/etcd/etcd.go +++ b/pkg/registry/rbac/role/etcd/etcd.go @@ -21,7 +21,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/role" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" @@ -29,7 +29,7 @@ import ( // REST implements a RESTStorage for Role against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against Role objects. @@ -48,14 +48,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &rbac.Role{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*rbac.Role).Name, nil diff --git a/pkg/registry/rbac/rolebinding/etcd/etcd.go b/pkg/registry/rbac/rolebinding/etcd/etcd.go index b0f5569dbc0..f6ad32f4e01 100644 --- a/pkg/registry/rbac/rolebinding/etcd/etcd.go +++ b/pkg/registry/rbac/rolebinding/etcd/etcd.go @@ -21,7 +21,7 @@ import ( "k8s.io/kubernetes/pkg/apis/rbac" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/rbac/rolebinding" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" @@ -29,7 +29,7 @@ import ( // REST implements a RESTStorage for RoleBinding against etcd type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against RoleBinding objects. @@ -48,14 +48,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &rbac.RoleBinding{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { - return registry.NamespaceKeyRootFunc(ctx, prefix) + return genericregistry.NamespaceKeyRootFunc(ctx, prefix) }, KeyFunc: func(ctx api.Context, id string) (string, error) { - return registry.NamespaceKeyFunc(ctx, prefix, id) + return genericregistry.NamespaceKeyFunc(ctx, prefix, id) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*rbac.RoleBinding).Name, nil diff --git a/pkg/registry/registrytest/etcd.go b/pkg/registry/registrytest/etcd.go index 049c64935bc..d733f0bbb39 100644 --- a/pkg/registry/registrytest/etcd.go +++ b/pkg/registry/registrytest/etcd.go @@ -28,7 +28,7 @@ import ( "k8s.io/kubernetes/pkg/apimachinery/registered" "k8s.io/kubernetes/pkg/fields" "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/runtime" etcdstorage "k8s.io/kubernetes/pkg/storage/etcd" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" @@ -44,11 +44,11 @@ func NewEtcdStorage(t *testing.T, group string) (*storagebackend.Config, *etcdte type Tester struct { tester *resttest.Tester - storage *registry.Store + storage *genericregistry.Store } type UpdateFunc func(runtime.Object) runtime.Object -func New(t *testing.T, storage *registry.Store) *Tester { +func New(t *testing.T, storage *genericregistry.Store) *Tester { return &Tester{ tester: resttest.New(t, storage), storage: storage, diff --git a/pkg/registry/storage/rest/storage_storage.go b/pkg/registry/storage/rest/storage_storage.go index 493572bd594..9e095b448bd 100644 --- a/pkg/registry/storage/rest/storage_storage.go +++ b/pkg/registry/storage/rest/storage_storage.go @@ -21,15 +21,14 @@ import ( storageapi "k8s.io/kubernetes/pkg/apis/storage" storageapiv1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" "k8s.io/kubernetes/pkg/genericapiserver" + "k8s.io/kubernetes/pkg/registry" storageclassetcd "k8s.io/kubernetes/pkg/registry/storage/storageclass/etcd" ) type RESTStorageProvider struct { } -var _ genericapiserver.RESTStorageProvider = &RESTStorageProvider{} - -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(storageapi.GroupName) if apiResourceConfigSource.AnyResourcesForVersionEnabled(storageapiv1beta1.SchemeGroupVersion) { @@ -40,7 +39,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter genericapiserver.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter registry.RESTOptionsGetter) map[string]rest.Storage { version := storageapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/storage/storageclass/etcd/etcd.go b/pkg/registry/storage/storageclass/etcd/etcd.go index db336d0ef0e..a9a5df7e242 100644 --- a/pkg/registry/storage/storageclass/etcd/etcd.go +++ b/pkg/registry/storage/storageclass/etcd/etcd.go @@ -21,14 +21,14 @@ import ( storageapi "k8s.io/kubernetes/pkg/apis/storage" "k8s.io/kubernetes/pkg/registry/cachesize" "k8s.io/kubernetes/pkg/registry/generic" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" "k8s.io/kubernetes/pkg/registry/storage/storageclass" "k8s.io/kubernetes/pkg/runtime" "k8s.io/kubernetes/pkg/storage" ) type REST struct { - *registry.Store + *genericregistry.Store } // NewREST returns a RESTStorage object that will work against persistent volumes. @@ -47,14 +47,14 @@ func NewREST(opts generic.RESTOptions) *REST { storage.NoTriggerPublisher, ) - store := ®istry.Store{ + store := &genericregistry.Store{ NewFunc: func() runtime.Object { return &storageapi.StorageClass{} }, NewListFunc: newListFunc, KeyRootFunc: func(ctx api.Context) string { return prefix }, KeyFunc: func(ctx api.Context, name string) (string, error) { - return registry.NoNamespaceKeyFunc(ctx, prefix, name) + return genericregistry.NoNamespaceKeyFunc(ctx, prefix, name) }, ObjectNameFunc: func(obj runtime.Object) (string, error) { return obj.(*storageapi.StorageClass).Name, nil diff --git a/test/e2e/kubectl.go b/test/e2e/kubectl.go index dad02949c8c..ce53bf15618 100644 --- a/test/e2e/kubectl.go +++ b/test/e2e/kubectl.go @@ -50,7 +50,7 @@ import ( "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/labels" - "k8s.io/kubernetes/pkg/registry/generic/registry" + genericregistry "k8s.io/kubernetes/pkg/registry/generic/registry" uexec "k8s.io/kubernetes/pkg/util/exec" utilnet "k8s.io/kubernetes/pkg/util/net" "k8s.io/kubernetes/pkg/util/uuid" @@ -159,7 +159,7 @@ func runKubectlRetryOrDie(args ...string) string { var output string for i := 0; i < 5; i++ { output, err = framework.RunKubectl(args...) - if err == nil || (!strings.Contains(err.Error(), registry.OptimisticLockErrorMsg) && !strings.Contains(err.Error(), "Operation cannot be fulfilled")) { + if err == nil || (!strings.Contains(err.Error(), genericregistry.OptimisticLockErrorMsg) && !strings.Contains(err.Error(), "Operation cannot be fulfilled")) { break } time.Sleep(time.Second)