From 27e01b5c466acb4d22b50bf76b07796cea3c7001 Mon Sep 17 00:00:00 2001 From: "Dr. Stefan Schimanski" Date: Sat, 11 Feb 2017 12:26:43 +0100 Subject: [PATCH] k8s.io/apiserver: fixup imports and renamed packages --- cmd/kube-apiserver/app/server.go | 5 +- examples/apiserver/apiserver.go | 2 +- .../cmd/federation-apiserver/app/server.go | 7 +- .../default_storage_factory_builder.go | 18 ++-- .../default_storage_factory_builder_test.go | 86 +++++++++---------- pkg/kubeapiserver/rest.go | 4 +- pkg/master/master.go | 13 +-- pkg/master/master_test.go | 9 +- pkg/master/thirdparty/thirdparty.go | 3 +- pkg/registry/apps/rest/storage_apps.go | 5 +- .../rest/storage_authentication.go | 7 +- .../rest/storage_authorization.go | 7 +- .../autoscaling/rest/storage_autoscaling.go | 7 +- pkg/registry/batch/rest/storage_batch.go | 7 +- .../certificates/rest/storage_certificates.go | 5 +- pkg/registry/core/rest/storage_core.go | 5 +- .../extensions/rest/storage_extensions.go | 5 +- pkg/registry/policy/rest/storage_policy.go | 5 +- pkg/registry/rbac/rest/storage_rbac.go | 5 +- pkg/registry/storage/rest/storage_storage.go | 5 +- .../pkg/server/storage/storage_factory.go | 3 - .../server/storage/storage_factory_test.go | 24 +++++- test/integration/framework/master_utils.go | 24 +++--- 23 files changed, 145 insertions(+), 116 deletions(-) diff --git a/cmd/kube-apiserver/app/server.go b/cmd/kube-apiserver/app/server.go index 6c0136ab8b..480d96c22e 100644 --- a/cmd/kube-apiserver/app/server.go +++ b/cmd/kube-apiserver/app/server.go @@ -44,6 +44,7 @@ import ( "k8s.io/apiserver/pkg/admission" genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/filters" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/cmd/kube-apiserver/app/options" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" @@ -203,9 +204,9 @@ func Run(s *options.ServerRunOptions) error { if err != nil { return fmt.Errorf("error generating storage version map: %s", err) } - storageFactory, err := kubeapiserver.BuildDefaultStorageFactory( + storageFactory, err := kubeapiserver.NewStorageFactory( s.Etcd.StorageConfig, s.Etcd.DefaultStorageMediaType, api.Codecs, - genericapiserver.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, + serverstorage.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, // FIXME: this GroupVersionResource override should be configurable []schema.GroupVersionResource{batch.Resource("cronjobs").WithVersion("v2alpha1")}, master.DefaultAPIResourceConfigSource(), s.APIEnablement.RuntimeConfig) diff --git a/examples/apiserver/apiserver.go b/examples/apiserver/apiserver.go index 28eb576ad5..0ae17e6b27 100644 --- a/examples/apiserver/apiserver.go +++ b/examples/apiserver/apiserver.go @@ -26,7 +26,7 @@ import ( "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" genericoptions "k8s.io/apiserver/pkg/server/options" - "k8s.io/apiserver/pkg/storage/storagebackend" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest" "k8s.io/kubernetes/pkg/api" diff --git a/federation/cmd/federation-apiserver/app/server.go b/federation/cmd/federation-apiserver/app/server.go index 7f3c21e7ab..cc0a32d0a5 100644 --- a/federation/cmd/federation-apiserver/app/server.go +++ b/federation/cmd/federation-apiserver/app/server.go @@ -37,6 +37,7 @@ import ( "k8s.io/apiserver/pkg/admission" genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/filters" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/federation/cmd/federation-apiserver/app/options" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" @@ -108,7 +109,7 @@ func Run(s *options.ServerRunOptions) error { } // TODO: register cluster federation resources here. - resourceConfig := genericapiserver.NewResourceConfig() + resourceConfig := serverstorage.NewResourceConfig() if s.Etcd.StorageConfig.DeserializationCacheSize == 0 { // When size of cache is not explicitly set, set it to 50000 @@ -118,9 +119,9 @@ func Run(s *options.ServerRunOptions) error { if err != nil { return fmt.Errorf("error generating storage version map: %s", err) } - storageFactory, err := kubeapiserver.BuildDefaultStorageFactory( + storageFactory, err := kubeapiserver.NewStorageFactory( s.Etcd.StorageConfig, s.Etcd.DefaultStorageMediaType, api.Codecs, - genericapiserver.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, + serverstorage.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, []schema.GroupVersionResource{}, resourceConfig, s.APIEnablement.RuntimeConfig) if err != nil { return fmt.Errorf("error in initializing storage factory: %s", err) diff --git a/pkg/kubeapiserver/default_storage_factory_builder.go b/pkg/kubeapiserver/default_storage_factory_builder.go index 64f9089d6d..bd5860aaca 100644 --- a/pkg/kubeapiserver/default_storage_factory_builder.go +++ b/pkg/kubeapiserver/default_storage_factory_builder.go @@ -23,18 +23,18 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/apiserver/pkg/storage/storagebackend" utilflag "k8s.io/apiserver/pkg/util/flag" "k8s.io/kubernetes/pkg/api" ) -// Builds the DefaultStorageFactory. +// NewStorageFactory builds the ConfigurableStorageFactory. // Merges defaultResourceConfig with the user specified overrides and merges // defaultAPIResourceConfig with the corresponding user specified overrides as well. -func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer, - defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource, - defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*genericapiserver.DefaultStorageFactory, error) { +func NewStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer, + defaultResourceEncoding *serverstorage.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource, + defaultAPIResourceConfig *serverstorage.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*serverstorage.DefaultStorageFactory, error) { resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides) resourceEncodingConfig = mergeResourceEncodingConfigs(resourceEncodingConfig, resourceEncodingOverrides) @@ -42,11 +42,11 @@ func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMedi if err != nil { return nil, err } - return genericapiserver.NewDefaultStorageFactory(storageConfig, defaultMediaType, serializer, resourceEncodingConfig, apiResourceConfig), nil + return serverstorage.NewDefaultStorageFactory(storageConfig, defaultMediaType, serializer, resourceEncodingConfig, apiResourceConfig), nil } // Merges the given defaultResourceConfig with specifc GroupvVersionResource overrides. -func mergeResourceEncodingConfigs(defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, resourceEncodingOverrides []schema.GroupVersionResource) *genericapiserver.DefaultResourceEncodingConfig { +func mergeResourceEncodingConfigs(defaultResourceEncoding *serverstorage.DefaultResourceEncodingConfig, resourceEncodingOverrides []schema.GroupVersionResource) *serverstorage.DefaultResourceEncodingConfig { resourceEncodingConfig := defaultResourceEncoding for _, gvr := range resourceEncodingOverrides { resourceEncodingConfig.SetResourceEncoding(gvr.GroupResource(), gvr.GroupVersion(), @@ -56,7 +56,7 @@ func mergeResourceEncodingConfigs(defaultResourceEncoding *genericapiserver.Defa } // Merges the given defaultResourceConfig with specifc GroupVersion overrides. -func mergeGroupEncodingConfigs(defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion) *genericapiserver.DefaultResourceEncodingConfig { +func mergeGroupEncodingConfigs(defaultResourceEncoding *serverstorage.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion) *serverstorage.DefaultResourceEncodingConfig { resourceEncodingConfig := defaultResourceEncoding for group, storageEncodingVersion := range storageEncodingOverrides { resourceEncodingConfig.SetVersionEncoding(group, storageEncodingVersion, schema.GroupVersion{Group: group, Version: runtime.APIVersionInternal}) @@ -65,7 +65,7 @@ func mergeGroupEncodingConfigs(defaultResourceEncoding *genericapiserver.Default } // Merges the given defaultAPIResourceConfig with the given resourceConfigOverrides. -func mergeAPIResourceConfigs(defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*genericapiserver.ResourceConfig, error) { +func mergeAPIResourceConfigs(defaultAPIResourceConfig *serverstorage.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*serverstorage.ResourceConfig, error) { resourceConfig := defaultAPIResourceConfig overrides := resourceConfigOverrides diff --git a/pkg/kubeapiserver/default_storage_factory_builder_test.go b/pkg/kubeapiserver/default_storage_factory_builder_test.go index 3a058f61db..87ef852de2 100644 --- a/pkg/kubeapiserver/default_storage_factory_builder_test.go +++ b/pkg/kubeapiserver/default_storage_factory_builder_test.go @@ -21,7 +21,7 @@ import ( "testing" "k8s.io/apimachinery/pkg/runtime/schema" - genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" apiv1 "k8s.io/kubernetes/pkg/api/v1" @@ -34,31 +34,31 @@ func TestParseRuntimeConfig(t *testing.T) { apiv1GroupVersion := apiv1.SchemeGroupVersion testCases := []struct { runtimeConfig map[string]string - defaultResourceConfig func() *genericapiserver.ResourceConfig - expectedAPIConfig func() *genericapiserver.ResourceConfig + defaultResourceConfig func() *serverstorage.ResourceConfig + expectedAPIConfig func() *serverstorage.ResourceConfig err bool }{ { // everything default value. runtimeConfig: map[string]string{}, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, err: false, }, { // no runtimeConfig override. runtimeConfig: map[string]string{}, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) return config }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) return config }, @@ -69,13 +69,13 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "extensions/v1beta1": "", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) return config }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(extensionsapiv1beta1.SchemeGroupVersion) return config }, @@ -86,13 +86,13 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "api/v1/pods": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(apiv1GroupVersion) return config }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(apiv1GroupVersion) config.DisableResources(apiv1GroupVersion.WithResource("pods")) return config @@ -104,11 +104,11 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "api/v1": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableVersions(apiv1GroupVersion) return config }, @@ -120,14 +120,14 @@ func TestParseRuntimeConfig(t *testing.T) { "extensions/v1beta1/anything": "true", "extensions/v1beta1/daemonsets": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(extensionsGroupVersion) return config }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(extensionsGroupVersion) config.DisableResources(extensionsGroupVersion.WithResource("daemonsets")) config.EnableResources(extensionsGroupVersion.WithResource("anything")) @@ -140,11 +140,11 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "invalidgroup/version": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, err: true, }, @@ -153,11 +153,11 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "api/v1/pods": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableResources(schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) return config }, @@ -168,11 +168,11 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "api/all": "true", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.EnableVersions(api.Registry.RegisteredGroupVersions()...) return config }, @@ -183,11 +183,11 @@ func TestParseRuntimeConfig(t *testing.T) { runtimeConfig: map[string]string{ "api/all": "false", }, - defaultResourceConfig: func() *genericapiserver.ResourceConfig { - return genericapiserver.NewResourceConfig() + defaultResourceConfig: func() *serverstorage.ResourceConfig { + return serverstorage.NewResourceConfig() }, - expectedAPIConfig: func() *genericapiserver.ResourceConfig { - config := genericapiserver.NewResourceConfig() + expectedAPIConfig: func() *serverstorage.ResourceConfig { + config := serverstorage.NewResourceConfig() config.DisableVersions(api.Registry.RegisteredGroupVersions()...) return config }, diff --git a/pkg/kubeapiserver/rest.go b/pkg/kubeapiserver/rest.go index c429239010..be31b39f6d 100644 --- a/pkg/kubeapiserver/rest.go +++ b/pkg/kubeapiserver/rest.go @@ -22,7 +22,7 @@ import ( "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apiserver/pkg/registry/generic" genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" - genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" ) // RESTOptionsFactory is a RESTOptionsGetter for kube apiservers since they do complicated stuff @@ -30,7 +30,7 @@ type RESTOptionsFactory struct { DeleteCollectionWorkers int EnableGarbageCollection bool EnableWatchCache bool - StorageFactory genericapiserver.StorageFactory + StorageFactory serverstorage.StorageFactory } func (f *RESTOptionsFactory) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) { diff --git a/pkg/master/master.go b/pkg/master/master.go index 813e330a0e..d7a82eb10e 100644 --- a/pkg/master/master.go +++ b/pkg/master/master.go @@ -29,6 +29,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" genericapiserver "k8s.io/apiserver/pkg/server" "k8s.io/apiserver/pkg/server/healthz" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/cmd/kube-apiserver/app/options" "k8s.io/kubernetes/pkg/api" apiv1 "k8s.io/kubernetes/pkg/api/v1" @@ -79,8 +80,8 @@ const ( type Config struct { GenericConfig *genericapiserver.Config - APIResourceConfigSource genericapiserver.APIResourceConfigSource - StorageFactory genericapiserver.StorageFactory + APIResourceConfigSource serverstorage.APIResourceConfigSource + StorageFactory serverstorage.StorageFactory EnableCoreControllers bool EndpointReconcilerConfig EndpointReconcilerConfig EventTTL time.Duration @@ -284,11 +285,11 @@ func (m *Master) installTunneler(nodeTunneler tunneler.Tunneler, nodeClient core // RESTStorageProvider is a factory type for REST storage. type RESTStorageProvider interface { GroupName() string - NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) + NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) } // InstallAPIs will install the APIs for the restStorageProviders if they are enabled. -func (m *Master) InstallAPIs(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter, restStorageProviders ...RESTStorageProvider) { +func (m *Master) InstallAPIs(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter, restStorageProviders ...RESTStorageProvider) { apiGroupsInfo := []genericapiserver.APIGroupInfo{} for _, restStorageBuilder := range restStorageProviders { @@ -349,8 +350,8 @@ func (n nodeAddressProvider) externalAddresses() ([]string, error) { return addrs, nil } -func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig { - ret := genericapiserver.NewResourceConfig() +func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig { + ret := serverstorage.NewResourceConfig() ret.EnableVersions( apiv1.SchemeGroupVersion, extensionsapiv1beta1.SchemeGroupVersion, diff --git a/pkg/master/master_test.go b/pkg/master/master_test.go index 5f290ff499..dfc75a07c8 100644 --- a/pkg/master/master_test.go +++ b/pkg/master/master_test.go @@ -34,6 +34,7 @@ import ( "k8s.io/apimachinery/pkg/version" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" @@ -69,7 +70,7 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. MasterCount: 1, } - resourceEncoding := genericapiserver.NewDefaultResourceEncodingConfig(api.Registry) + resourceEncoding := serverstorage.NewDefaultResourceEncodingConfig(api.Registry) resourceEncoding.SetVersionEncoding(api.GroupName, api.Registry.GroupOrDie(api.GroupName).GroupVersion, schema.GroupVersion{Group: api.GroupName, Version: runtime.APIVersionInternal}) resourceEncoding.SetVersionEncoding(autoscaling.GroupName, *testapi.Autoscaling.GroupVersion(), schema.GroupVersion{Group: autoscaling.GroupName, Version: runtime.APIVersionInternal}) resourceEncoding.SetVersionEncoding(batch.GroupName, *testapi.Batch.GroupVersion(), schema.GroupVersion{Group: batch.GroupName, Version: runtime.APIVersionInternal}) @@ -77,7 +78,7 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. resourceEncoding.SetVersionEncoding(extensions.GroupName, *testapi.Extensions.GroupVersion(), schema.GroupVersion{Group: extensions.GroupName, Version: runtime.APIVersionInternal}) resourceEncoding.SetVersionEncoding(rbac.GroupName, *testapi.Rbac.GroupVersion(), schema.GroupVersion{Group: rbac.GroupName, Version: runtime.APIVersionInternal}) resourceEncoding.SetVersionEncoding(certificates.GroupName, *testapi.Certificates.GroupVersion(), schema.GroupVersion{Group: certificates.GroupName, Version: runtime.APIVersionInternal}) - storageFactory := genericapiserver.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), api.Codecs, resourceEncoding, DefaultAPIResourceConfigSource()) + storageFactory := serverstorage.NewDefaultStorageFactory(*storageConfig, testapi.StorageMediaType(), api.Codecs, resourceEncoding, DefaultAPIResourceConfigSource()) kubeVersion := kubeversion.Get() config.GenericConfig.Version = &kubeVersion @@ -121,8 +122,8 @@ func newMaster(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *ass } // limitedAPIResourceConfigSource only enables the core group, the extensions group, the batch group, and the autoscaling group. -func limitedAPIResourceConfigSource() *genericapiserver.ResourceConfig { - ret := genericapiserver.NewResourceConfig() +func limitedAPIResourceConfigSource() *serverstorage.ResourceConfig { + ret := serverstorage.NewResourceConfig() ret.EnableVersions( apiv1.SchemeGroupVersion, extensionsapiv1beta1.SchemeGroupVersion, diff --git a/pkg/master/thirdparty/thirdparty.go b/pkg/master/thirdparty/thirdparty.go index 9b116b0ef7..d9a4f19c6c 100644 --- a/pkg/master/thirdparty/thirdparty.go +++ b/pkg/master/thirdparty/thirdparty.go @@ -33,6 +33,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorgage "k8s.io/apiserver/pkg/server/storage" "k8s.io/apiserver/pkg/storage/storagebackend" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" @@ -70,7 +71,7 @@ type ThirdPartyResourceServer struct { disableThirdPartyControllerForTesting bool } -func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, storageFactory genericapiserver.StorageFactory) *ThirdPartyResourceServer { +func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, storageFactory serverstorgage.StorageFactory) *ThirdPartyResourceServer { ret := &ThirdPartyResourceServer{ genericAPIServer: genericAPIServer, thirdPartyResources: map[string]*thirdPartyEntry{}, diff --git a/pkg/registry/apps/rest/storage_apps.go b/pkg/registry/apps/rest/storage_apps.go index 45931c5f2c..66dffbd94e 100644 --- a/pkg/registry/apps/rest/storage_apps.go +++ b/pkg/registry/apps/rest/storage_apps.go @@ -20,6 +20,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/apps" appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" @@ -28,7 +29,7 @@ import ( type RESTStorageProvider struct{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(apps.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(appsapiv1beta1.SchemeGroupVersion) { @@ -39,7 +40,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.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 e2c323db02..4f8d1ce698 100644 --- a/pkg/registry/authentication/rest/storage_authentication.go +++ b/pkg/registry/authentication/rest/storage_authentication.go @@ -21,6 +21,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/authentication" authenticationv1 "k8s.io/kubernetes/pkg/apis/authentication/v1" @@ -32,7 +33,7 @@ type RESTStorageProvider struct { Authenticator authenticator.Request } -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.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 @@ -52,7 +53,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := authenticationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -66,7 +67,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapise return storage } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := authenticationv1.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 0b694d5947..f875e5c557 100644 --- a/pkg/registry/authorization/rest/storage_authorization.go +++ b/pkg/registry/authorization/rest/storage_authorization.go @@ -21,6 +21,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/authorization" authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1" @@ -34,7 +35,7 @@ type RESTStorageProvider struct { Authorizer authorizer.Authorizer } -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { if p.Authorizer == nil { return genericapiserver.APIGroupInfo{}, false } @@ -54,7 +55,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := authorizationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -71,7 +72,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapise return storage } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := authorizationv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/autoscaling/rest/storage_autoscaling.go b/pkg/registry/autoscaling/rest/storage_autoscaling.go index 74e5e778b9..ce52e55842 100644 --- a/pkg/registry/autoscaling/rest/storage_autoscaling.go +++ b/pkg/registry/autoscaling/rest/storage_autoscaling.go @@ -20,6 +20,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/autoscaling" autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" @@ -29,7 +30,7 @@ import ( type RESTStorageProvider struct{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(autoscaling.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(autoscalingapiv1.SchemeGroupVersion) { @@ -44,7 +45,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := autoscalingapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -56,7 +57,7 @@ func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver. return storage } -func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := autoscalingapiv2alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/batch/rest/storage_batch.go b/pkg/registry/batch/rest/storage_batch.go index 97abbb8c6e..c4d359284d 100644 --- a/pkg/registry/batch/rest/storage_batch.go +++ b/pkg/registry/batch/rest/storage_batch.go @@ -21,6 +21,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/batch" batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" @@ -31,7 +32,7 @@ import ( type RESTStorageProvider struct{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(batch.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { @@ -50,7 +51,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv1.SchemeGroupVersion storage := map[string]rest.Storage{} @@ -62,7 +63,7 @@ func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver. return storage } -func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v2alpha1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := batchapiv2alpha1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/certificates/rest/storage_certificates.go b/pkg/registry/certificates/rest/storage_certificates.go index 84b04e448b..7a6a643732 100644 --- a/pkg/registry/certificates/rest/storage_certificates.go +++ b/pkg/registry/certificates/rest/storage_certificates.go @@ -20,6 +20,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/certificates" certificatesapiv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" @@ -28,7 +29,7 @@ import ( type RESTStorageProvider struct{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1beta1.SchemeGroupVersion) { @@ -39,7 +40,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := certificatesapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/core/rest/storage_core.go b/pkg/registry/core/rest/storage_core.go index 7a2f5d559b..757b64e7c5 100644 --- a/pkg/registry/core/rest/storage_core.go +++ b/pkg/registry/core/rest/storage_core.go @@ -32,6 +32,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" etcdutil "k8s.io/apiserver/pkg/storage/etcd/util" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" @@ -66,7 +67,7 @@ import ( // LegacyRESTStorageProvider provides information needed to build RESTStorage for core, but // does NOT implement the "normal" RESTStorageProvider (yet!) type LegacyRESTStorageProvider struct { - StorageFactory genericapiserver.StorageFactory + StorageFactory serverstorage.StorageFactory // Used for custom proxy dialing, and proxy TLS options ProxyTransport http.RoundTripper KubeletClientConfig kubeletclient.KubeletClientConfig @@ -238,7 +239,7 @@ func (p LegacyRESTStorageProvider) GroupName() string { } type componentStatusStorage struct { - storageFactory genericapiserver.StorageFactory + storageFactory serverstorage.StorageFactory } func (s componentStatusStorage) serversToValidate() map[string]componentstatus.Server { diff --git a/pkg/registry/extensions/rest/storage_extensions.go b/pkg/registry/extensions/rest/storage_extensions.go index e9f17469ff..d1ff1b01da 100644 --- a/pkg/registry/extensions/rest/storage_extensions.go +++ b/pkg/registry/extensions/rest/storage_extensions.go @@ -27,6 +27,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/extensions" extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -45,7 +46,7 @@ type RESTStorageProvider struct { ResourceInterface ResourceInterface } -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(extensions.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(extensionsapiv1beta1.SchemeGroupVersion) { @@ -56,7 +57,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := extensionsapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/pkg/registry/policy/rest/storage_policy.go b/pkg/registry/policy/rest/storage_policy.go index aa35b84d6e..c1067d5b0f 100644 --- a/pkg/registry/policy/rest/storage_policy.go +++ b/pkg/registry/policy/rest/storage_policy.go @@ -20,6 +20,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/policy" policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" @@ -28,7 +29,7 @@ import ( type RESTStorageProvider struct{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(policy.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(policyapiv1beta1.SchemeGroupVersion) { @@ -38,7 +39,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.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/rest/storage_rbac.go b/pkg/registry/rbac/rest/storage_rbac.go index e1fc442018..530ef4a157 100644 --- a/pkg/registry/rbac/rest/storage_rbac.go +++ b/pkg/registry/rbac/rest/storage_rbac.go @@ -30,6 +30,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/apis/rbac" rbacapiv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" @@ -59,7 +60,7 @@ type RESTStorageProvider struct { var _ genericapiserver.PostStartHookProvider = RESTStorageProvider{} -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(rbac.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(rbacapiv1alpha1.SchemeGroupVersion) { @@ -74,7 +75,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) storage(version schema.GroupVersion, apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) storage(version schema.GroupVersion, apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { once := new(sync.Once) var ( authorizationRuleResolver rbacregistryvalidation.AuthorizationRuleResolver diff --git a/pkg/registry/storage/rest/storage_storage.go b/pkg/registry/storage/rest/storage_storage.go index 33ab82f026..31239b0021 100644 --- a/pkg/registry/storage/rest/storage_storage.go +++ b/pkg/registry/storage/rest/storage_storage.go @@ -20,6 +20,7 @@ import ( "k8s.io/apiserver/pkg/registry/generic" "k8s.io/apiserver/pkg/registry/rest" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/kubernetes/pkg/api" storageapi "k8s.io/kubernetes/pkg/apis/storage" storageapiv1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" @@ -29,7 +30,7 @@ import ( type RESTStorageProvider struct { } -func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { +func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) (genericapiserver.APIGroupInfo, bool) { apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(storageapi.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) if apiResourceConfigSource.AnyResourcesForVersionEnabled(storageapiv1beta1.SchemeGroupVersion) { @@ -40,7 +41,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise return apiGroupInfo, true } -func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapiserver.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { +func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource serverstorage.APIResourceConfigSource, restOptionsGetter generic.RESTOptionsGetter) map[string]rest.Storage { version := storageapiv1beta1.SchemeGroupVersion storage := map[string]rest.Storage{} diff --git a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go index 5a6e8b8827..6b324c5013 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go +++ b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory.go @@ -17,13 +17,10 @@ limitations under the License. package storage import ( - "fmt" - "mime" "strings" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/runtime/serializer/recognizer" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/storage/storagebackend" diff --git a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory_test.go b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory_test.go index 72ea1a0374..ad6d556cf8 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory_test.go +++ b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_factory_test.go @@ -23,20 +23,36 @@ import ( "k8s.io/apimachinery/pkg/apimachinery/announced" "k8s.io/apimachinery/pkg/apimachinery/registered" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apiserver/pkg/apis/example" exampleinstall "k8s.io/apiserver/pkg/apis/example/install" - examplev1 "k8s.io/apiserver/pkg/apis/example/v1" "k8s.io/apiserver/pkg/storage/storagebackend" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apiserver/pkg/apis/example" + examplev1 "k8s.io/apiserver/pkg/apis/example/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime" ) var ( + v1GroupVersion = schema.GroupVersion{Group: "", Version: "v1"} + registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS")) announce = make(announced.APIGroupFactoryRegistry) + scheme = runtime.NewScheme() + codecs = serializer.NewCodecFactory(scheme) + parameterCodec = runtime.NewParameterCodec(scheme) ) func init() { + metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion) + scheme.AddUnversionedTypes(v1GroupVersion, + &metav1.Status{}, + &metav1.APIVersions{}, + &metav1.APIGroupList{}, + &metav1.APIGroup{}, + &metav1.APIResourceList{}, + ) + exampleinstall.Install(announce, registry, scheme) } diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index 250a92e597..d997625ff5 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -40,6 +40,7 @@ import ( "k8s.io/apiserver/pkg/authorization/authorizerfactory" authorizerunion "k8s.io/apiserver/pkg/authorization/union" genericapiserver "k8s.io/apiserver/pkg/server" + serverstorage "k8s.io/apiserver/pkg/server/storage" "k8s.io/apiserver/pkg/storage/storagebackend" restclient "k8s.io/client-go/rest" "k8s.io/client-go/tools/record" @@ -61,7 +62,6 @@ import ( "k8s.io/kubernetes/pkg/controller" replicationcontroller "k8s.io/kubernetes/pkg/controller/replication" "k8s.io/kubernetes/pkg/generated/openapi" - "k8s.io/kubernetes/pkg/kubeapiserver" "k8s.io/kubernetes/pkg/kubectl" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master" @@ -309,7 +309,7 @@ func GetEtcdURLFromEnv() string { // Returns a basic master config. func NewMasterConfig() *master.Config { - config := storagebackend.Config{ + storageConfig := storagebackend.Config{ ServerList: []string{GetEtcdURLFromEnv()}, // This causes the integration tests to exercise the etcd // prefix code, so please don't change without ensuring @@ -321,41 +321,41 @@ func NewMasterConfig() *master.Config { info, _ := runtime.SerializerInfoForMediaType(api.Codecs.SupportedMediaTypes(), runtime.ContentTypeJSON) ns := NewSingleContentTypeSerializer(api.Scheme, info) - storageFactory := genericapiserver.NewDefaultStorageFactory(config, runtime.ContentTypeJSON, ns, genericapiserver.NewDefaultResourceEncodingConfig(api.Registry), master.DefaultAPIResourceConfigSource()) + storageFactory := serverstorage.NewConfigurableStorageFactory(storageConfig, runtime.ContentTypeJSON, ns, serverstorage.NewDefaultResourceEncodingConfig(api.Registry), master.DefaultAPIResourceConfigSource()) storageFactory.SetSerializer( - schema.GroupResource{Group: v1.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: v1.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: autoscaling.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: autoscaling.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: batch.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: batch.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: apps.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: apps.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: extensions.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: extensions.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: policy.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: policy.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: rbac.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: rbac.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: certificates.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: certificates.GroupName, Resource: serverstorage.AllResources}, "", ns) storageFactory.SetSerializer( - schema.GroupResource{Group: storage.GroupName, Resource: genericapiserver.AllResources}, + schema.GroupResource{Group: storage.GroupName, Resource: serverstorage.AllResources}, "", ns)