k8s.io/apiserver: fixup imports and renamed packages
This commit is contained in:
		| @@ -44,6 +44,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/admission" | 	"k8s.io/apiserver/pkg/admission" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
| 	"k8s.io/apiserver/pkg/server/filters" | 	"k8s.io/apiserver/pkg/server/filters" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/cmd/kube-apiserver/app/options" | 	"k8s.io/kubernetes/cmd/kube-apiserver/app/options" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/batch" | 	"k8s.io/kubernetes/pkg/apis/batch" | ||||||
| @@ -203,9 +204,9 @@ func Run(s *options.ServerRunOptions) error { | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("error generating storage version map: %s", err) | 		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, | 		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 | 		// FIXME: this GroupVersionResource override should be configurable | ||||||
| 		[]schema.GroupVersionResource{batch.Resource("cronjobs").WithVersion("v2alpha1")}, | 		[]schema.GroupVersionResource{batch.Resource("cronjobs").WithVersion("v2alpha1")}, | ||||||
| 		master.DefaultAPIResourceConfigSource(), s.APIEnablement.RuntimeConfig) | 		master.DefaultAPIResourceConfigSource(), s.APIEnablement.RuntimeConfig) | ||||||
|   | |||||||
| @@ -26,7 +26,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
| 	genericoptions "k8s.io/apiserver/pkg/server/options" | 	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" | 	"k8s.io/kubernetes/cmd/libs/go2idl/client-gen/test_apis/testgroup/v1" | ||||||
| 	testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest" | 	testgroupetcd "k8s.io/kubernetes/examples/apiserver/rest" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
|   | |||||||
| @@ -37,6 +37,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/admission" | 	"k8s.io/apiserver/pkg/admission" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
| 	"k8s.io/apiserver/pkg/server/filters" | 	"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/federation/cmd/federation-apiserver/app/options" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" | 	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" | ||||||
| @@ -108,7 +109,7 @@ func Run(s *options.ServerRunOptions) error { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	// TODO: register cluster federation resources here. | 	// TODO: register cluster federation resources here. | ||||||
| 	resourceConfig := genericapiserver.NewResourceConfig() | 	resourceConfig := serverstorage.NewResourceConfig() | ||||||
|  |  | ||||||
| 	if s.Etcd.StorageConfig.DeserializationCacheSize == 0 { | 	if s.Etcd.StorageConfig.DeserializationCacheSize == 0 { | ||||||
| 		// When size of cache is not explicitly set, set it to 50000 | 		// 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 { | 	if err != nil { | ||||||
| 		return fmt.Errorf("error generating storage version map: %s", err) | 		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, | 		s.Etcd.StorageConfig, s.Etcd.DefaultStorageMediaType, api.Codecs, | ||||||
| 		genericapiserver.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, | 		serverstorage.NewDefaultResourceEncodingConfig(api.Registry), storageGroupsToEncodingVersion, | ||||||
| 		[]schema.GroupVersionResource{}, resourceConfig, s.APIEnablement.RuntimeConfig) | 		[]schema.GroupVersionResource{}, resourceConfig, s.APIEnablement.RuntimeConfig) | ||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return fmt.Errorf("error in initializing storage factory: %s", err) | 		return fmt.Errorf("error in initializing storage factory: %s", err) | ||||||
|   | |||||||
| @@ -23,18 +23,18 @@ import ( | |||||||
|  |  | ||||||
| 	"k8s.io/apimachinery/pkg/runtime" | 	"k8s.io/apimachinery/pkg/runtime" | ||||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | 	"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" | 	"k8s.io/apiserver/pkg/storage/storagebackend" | ||||||
| 	utilflag "k8s.io/apiserver/pkg/util/flag" | 	utilflag "k8s.io/apiserver/pkg/util/flag" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| ) | ) | ||||||
|  |  | ||||||
| // Builds the DefaultStorageFactory. | // NewStorageFactory builds the ConfigurableStorageFactory. | ||||||
| // Merges defaultResourceConfig with the user specified overrides and merges | // Merges defaultResourceConfig with the user specified overrides and merges | ||||||
| // defaultAPIResourceConfig with the corresponding user specified overrides as well. | // defaultAPIResourceConfig with the corresponding user specified overrides as well. | ||||||
| func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer, | func NewStorageFactory(storageConfig storagebackend.Config, defaultMediaType string, serializer runtime.StorageSerializer, | ||||||
| 	defaultResourceEncoding *genericapiserver.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource, | 	defaultResourceEncoding *serverstorage.DefaultResourceEncodingConfig, storageEncodingOverrides map[string]schema.GroupVersion, resourceEncodingOverrides []schema.GroupVersionResource, | ||||||
| 	defaultAPIResourceConfig *genericapiserver.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*genericapiserver.DefaultStorageFactory, error) { | 	defaultAPIResourceConfig *serverstorage.ResourceConfig, resourceConfigOverrides utilflag.ConfigurationMap) (*serverstorage.DefaultStorageFactory, error) { | ||||||
|  |  | ||||||
| 	resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides) | 	resourceEncodingConfig := mergeGroupEncodingConfigs(defaultResourceEncoding, storageEncodingOverrides) | ||||||
| 	resourceEncodingConfig = mergeResourceEncodingConfigs(resourceEncodingConfig, resourceEncodingOverrides) | 	resourceEncodingConfig = mergeResourceEncodingConfigs(resourceEncodingConfig, resourceEncodingOverrides) | ||||||
| @@ -42,11 +42,11 @@ func BuildDefaultStorageFactory(storageConfig storagebackend.Config, defaultMedi | |||||||
| 	if err != nil { | 	if err != nil { | ||||||
| 		return nil, err | 		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. | // 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 | 	resourceEncodingConfig := defaultResourceEncoding | ||||||
| 	for _, gvr := range resourceEncodingOverrides { | 	for _, gvr := range resourceEncodingOverrides { | ||||||
| 		resourceEncodingConfig.SetResourceEncoding(gvr.GroupResource(), gvr.GroupVersion(), | 		resourceEncodingConfig.SetResourceEncoding(gvr.GroupResource(), gvr.GroupVersion(), | ||||||
| @@ -56,7 +56,7 @@ func mergeResourceEncodingConfigs(defaultResourceEncoding *genericapiserver.Defa | |||||||
| } | } | ||||||
|  |  | ||||||
| // Merges the given defaultResourceConfig with specifc GroupVersion overrides. | // 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 | 	resourceEncodingConfig := defaultResourceEncoding | ||||||
| 	for group, storageEncodingVersion := range storageEncodingOverrides { | 	for group, storageEncodingVersion := range storageEncodingOverrides { | ||||||
| 		resourceEncodingConfig.SetVersionEncoding(group, storageEncodingVersion, schema.GroupVersion{Group: group, Version: runtime.APIVersionInternal}) | 		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. | // 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 | 	resourceConfig := defaultAPIResourceConfig | ||||||
| 	overrides := resourceConfigOverrides | 	overrides := resourceConfigOverrides | ||||||
|  |  | ||||||
|   | |||||||
| @@ -21,7 +21,7 @@ import ( | |||||||
| 	"testing" | 	"testing" | ||||||
|  |  | ||||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | 	"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" | ||||||
| 	_ "k8s.io/kubernetes/pkg/api/install" | 	_ "k8s.io/kubernetes/pkg/api/install" | ||||||
| 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | ||||||
| @@ -34,31 +34,31 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 	apiv1GroupVersion := apiv1.SchemeGroupVersion | 	apiv1GroupVersion := apiv1.SchemeGroupVersion | ||||||
| 	testCases := []struct { | 	testCases := []struct { | ||||||
| 		runtimeConfig         map[string]string | 		runtimeConfig         map[string]string | ||||||
| 		defaultResourceConfig func() *genericapiserver.ResourceConfig | 		defaultResourceConfig func() *serverstorage.ResourceConfig | ||||||
| 		expectedAPIConfig     func() *genericapiserver.ResourceConfig | 		expectedAPIConfig     func() *serverstorage.ResourceConfig | ||||||
| 		err                   bool | 		err                   bool | ||||||
| 	}{ | 	}{ | ||||||
| 		{ | 		{ | ||||||
| 			// everything default value. | 			// everything default value. | ||||||
| 			runtimeConfig: map[string]string{}, | 			runtimeConfig: map[string]string{}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			err: false, | 			err: false, | ||||||
| 		}, | 		}, | ||||||
| 		{ | 		{ | ||||||
| 			// no runtimeConfig override. | 			// no runtimeConfig override. | ||||||
| 			runtimeConfig: map[string]string{}, | 			runtimeConfig: map[string]string{}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| @@ -69,13 +69,13 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"extensions/v1beta1": "", | 				"extensions/v1beta1": "", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | 				config.DisableVersions(extensionsapiv1beta1.SchemeGroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(extensionsapiv1beta1.SchemeGroupVersion) | 				config.EnableVersions(extensionsapiv1beta1.SchemeGroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| @@ -86,13 +86,13 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"api/v1/pods": "false", | 				"api/v1/pods": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(apiv1GroupVersion) | 				config.EnableVersions(apiv1GroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(apiv1GroupVersion) | 				config.EnableVersions(apiv1GroupVersion) | ||||||
| 				config.DisableResources(apiv1GroupVersion.WithResource("pods")) | 				config.DisableResources(apiv1GroupVersion.WithResource("pods")) | ||||||
| 				return config | 				return config | ||||||
| @@ -104,11 +104,11 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"api/v1": "false", | 				"api/v1": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableVersions(apiv1GroupVersion) | 				config.DisableVersions(apiv1GroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| @@ -120,14 +120,14 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 				"extensions/v1beta1/anything":   "true", | 				"extensions/v1beta1/anything":   "true", | ||||||
| 				"extensions/v1beta1/daemonsets": "false", | 				"extensions/v1beta1/daemonsets": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(extensionsGroupVersion) | 				config.EnableVersions(extensionsGroupVersion) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
|  |  | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(extensionsGroupVersion) | 				config.EnableVersions(extensionsGroupVersion) | ||||||
| 				config.DisableResources(extensionsGroupVersion.WithResource("daemonsets")) | 				config.DisableResources(extensionsGroupVersion.WithResource("daemonsets")) | ||||||
| 				config.EnableResources(extensionsGroupVersion.WithResource("anything")) | 				config.EnableResources(extensionsGroupVersion.WithResource("anything")) | ||||||
| @@ -140,11 +140,11 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"invalidgroup/version": "false", | 				"invalidgroup/version": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			err: true, | 			err: true, | ||||||
| 		}, | 		}, | ||||||
| @@ -153,11 +153,11 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"api/v1/pods": "false", | 				"api/v1/pods": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableResources(schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) | 				config.DisableResources(schema.GroupVersionResource{Group: "", Version: "v1", Resource: "pods"}) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| @@ -168,11 +168,11 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"api/all": "true", | 				"api/all": "true", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.EnableVersions(api.Registry.RegisteredGroupVersions()...) | 				config.EnableVersions(api.Registry.RegisteredGroupVersions()...) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
| @@ -183,11 +183,11 @@ func TestParseRuntimeConfig(t *testing.T) { | |||||||
| 			runtimeConfig: map[string]string{ | 			runtimeConfig: map[string]string{ | ||||||
| 				"api/all": "false", | 				"api/all": "false", | ||||||
| 			}, | 			}, | ||||||
| 			defaultResourceConfig: func() *genericapiserver.ResourceConfig { | 			defaultResourceConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				return genericapiserver.NewResourceConfig() | 				return serverstorage.NewResourceConfig() | ||||||
| 			}, | 			}, | ||||||
| 			expectedAPIConfig: func() *genericapiserver.ResourceConfig { | 			expectedAPIConfig: func() *serverstorage.ResourceConfig { | ||||||
| 				config := genericapiserver.NewResourceConfig() | 				config := serverstorage.NewResourceConfig() | ||||||
| 				config.DisableVersions(api.Registry.RegisteredGroupVersions()...) | 				config.DisableVersions(api.Registry.RegisteredGroupVersions()...) | ||||||
| 				return config | 				return config | ||||||
| 			}, | 			}, | ||||||
|   | |||||||
| @@ -22,7 +22,7 @@ import ( | |||||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	genericregistry "k8s.io/apiserver/pkg/registry/generic/registry" | 	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 | // RESTOptionsFactory is a RESTOptionsGetter for kube apiservers since they do complicated stuff | ||||||
| @@ -30,7 +30,7 @@ type RESTOptionsFactory struct { | |||||||
| 	DeleteCollectionWorkers int | 	DeleteCollectionWorkers int | ||||||
| 	EnableGarbageCollection bool | 	EnableGarbageCollection bool | ||||||
| 	EnableWatchCache        bool | 	EnableWatchCache        bool | ||||||
| 	StorageFactory          genericapiserver.StorageFactory | 	StorageFactory          serverstorage.StorageFactory | ||||||
| } | } | ||||||
|  |  | ||||||
| func (f *RESTOptionsFactory) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) { | func (f *RESTOptionsFactory) GetRESTOptions(resource schema.GroupResource) (generic.RESTOptions, error) { | ||||||
|   | |||||||
| @@ -29,6 +29,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
| 	"k8s.io/apiserver/pkg/server/healthz" | 	"k8s.io/apiserver/pkg/server/healthz" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/cmd/kube-apiserver/app/options" | 	"k8s.io/kubernetes/cmd/kube-apiserver/app/options" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | 	apiv1 "k8s.io/kubernetes/pkg/api/v1" | ||||||
| @@ -79,8 +80,8 @@ const ( | |||||||
| type Config struct { | type Config struct { | ||||||
| 	GenericConfig *genericapiserver.Config | 	GenericConfig *genericapiserver.Config | ||||||
|  |  | ||||||
| 	APIResourceConfigSource  genericapiserver.APIResourceConfigSource | 	APIResourceConfigSource  serverstorage.APIResourceConfigSource | ||||||
| 	StorageFactory           genericapiserver.StorageFactory | 	StorageFactory           serverstorage.StorageFactory | ||||||
| 	EnableCoreControllers    bool | 	EnableCoreControllers    bool | ||||||
| 	EndpointReconcilerConfig EndpointReconcilerConfig | 	EndpointReconcilerConfig EndpointReconcilerConfig | ||||||
| 	EventTTL                 time.Duration | 	EventTTL                 time.Duration | ||||||
| @@ -284,11 +285,11 @@ func (m *Master) installTunneler(nodeTunneler tunneler.Tunneler, nodeClient core | |||||||
| // RESTStorageProvider is a factory type for REST storage. | // RESTStorageProvider is a factory type for REST storage. | ||||||
| type RESTStorageProvider interface { | type RESTStorageProvider interface { | ||||||
| 	GroupName() string | 	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. | // 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{} | 	apiGroupsInfo := []genericapiserver.APIGroupInfo{} | ||||||
|  |  | ||||||
| 	for _, restStorageBuilder := range restStorageProviders { | 	for _, restStorageBuilder := range restStorageProviders { | ||||||
| @@ -349,8 +350,8 @@ func (n nodeAddressProvider) externalAddresses() ([]string, error) { | |||||||
| 	return addrs, nil | 	return addrs, nil | ||||||
| } | } | ||||||
|  |  | ||||||
| func DefaultAPIResourceConfigSource() *genericapiserver.ResourceConfig { | func DefaultAPIResourceConfigSource() *serverstorage.ResourceConfig { | ||||||
| 	ret := genericapiserver.NewResourceConfig() | 	ret := serverstorage.NewResourceConfig() | ||||||
| 	ret.EnableVersions( | 	ret.EnableVersions( | ||||||
| 		apiv1.SchemeGroupVersion, | 		apiv1.SchemeGroupVersion, | ||||||
| 		extensionsapiv1beta1.SchemeGroupVersion, | 		extensionsapiv1beta1.SchemeGroupVersion, | ||||||
|   | |||||||
| @@ -34,6 +34,7 @@ import ( | |||||||
| 	"k8s.io/apimachinery/pkg/version" | 	"k8s.io/apimachinery/pkg/version" | ||||||
| 	genericapirequest "k8s.io/apiserver/pkg/endpoints/request" | 	genericapirequest "k8s.io/apiserver/pkg/endpoints/request" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing" | 	etcdtesting "k8s.io/apiserver/pkg/storage/etcd/testing" | ||||||
| 	restclient "k8s.io/client-go/rest" | 	restclient "k8s.io/client-go/rest" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| @@ -69,7 +70,7 @@ func setUp(t *testing.T) (*Master, *etcdtesting.EtcdTestServer, Config, *assert. | |||||||
| 		MasterCount:             1, | 		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(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(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}) | 	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(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(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}) | 	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() | 	kubeVersion := kubeversion.Get() | ||||||
| 	config.GenericConfig.Version = &kubeVersion | 	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. | // limitedAPIResourceConfigSource only enables the core group, the extensions group, the batch group, and the autoscaling group. | ||||||
| func limitedAPIResourceConfigSource() *genericapiserver.ResourceConfig { | func limitedAPIResourceConfigSource() *serverstorage.ResourceConfig { | ||||||
| 	ret := genericapiserver.NewResourceConfig() | 	ret := serverstorage.NewResourceConfig() | ||||||
| 	ret.EnableVersions( | 	ret.EnableVersions( | ||||||
| 		apiv1.SchemeGroupVersion, | 		apiv1.SchemeGroupVersion, | ||||||
| 		extensionsapiv1beta1.SchemeGroupVersion, | 		extensionsapiv1beta1.SchemeGroupVersion, | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								pkg/master/thirdparty/thirdparty.go
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								pkg/master/thirdparty/thirdparty.go
									
									
									
									
										vendored
									
									
								
							| @@ -33,6 +33,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorgage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/apiserver/pkg/storage/storagebackend" | 	"k8s.io/apiserver/pkg/storage/storagebackend" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||||
| @@ -70,7 +71,7 @@ type ThirdPartyResourceServer struct { | |||||||
| 	disableThirdPartyControllerForTesting bool | 	disableThirdPartyControllerForTesting bool | ||||||
| } | } | ||||||
|  |  | ||||||
| func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, storageFactory genericapiserver.StorageFactory) *ThirdPartyResourceServer { | func NewThirdPartyResourceServer(genericAPIServer *genericapiserver.GenericAPIServer, storageFactory serverstorgage.StorageFactory) *ThirdPartyResourceServer { | ||||||
| 	ret := &ThirdPartyResourceServer{ | 	ret := &ThirdPartyResourceServer{ | ||||||
| 		genericAPIServer:    genericAPIServer, | 		genericAPIServer:    genericAPIServer, | ||||||
| 		thirdPartyResources: map[string]*thirdPartyEntry{}, | 		thirdPartyResources: map[string]*thirdPartyEntry{}, | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/apps" | 	"k8s.io/kubernetes/pkg/apis/apps" | ||||||
| 	appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" | 	appsapiv1beta1 "k8s.io/kubernetes/pkg/apis/apps/v1beta1" | ||||||
| @@ -28,7 +29,7 @@ import ( | |||||||
|  |  | ||||||
| type RESTStorageProvider struct{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(apps.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(appsapiv1beta1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(appsapiv1beta1.SchemeGroupVersion) { | ||||||
| @@ -39,7 +40,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := appsapiv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/authentication" | 	"k8s.io/kubernetes/pkg/apis/authentication" | ||||||
| 	authenticationv1 "k8s.io/kubernetes/pkg/apis/authentication/v1" | 	authenticationv1 "k8s.io/kubernetes/pkg/apis/authentication/v1" | ||||||
| @@ -32,7 +33,7 @@ type RESTStorageProvider struct { | |||||||
| 	Authenticator authenticator.Request | 	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. | 	// TODO figure out how to make the swagger generation stable, while allowing this endpoint to be disabled. | ||||||
| 	// if p.Authenticator == nil { | 	// if p.Authenticator == nil { | ||||||
| 	// 	return genericapiserver.APIGroupInfo{}, false | 	// 	return genericapiserver.APIGroupInfo{}, false | ||||||
| @@ -52,7 +53,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := authenticationv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
| @@ -66,7 +67,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapise | |||||||
| 	return storage | 	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 | 	version := authenticationv1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/authorization" | 	"k8s.io/kubernetes/pkg/apis/authorization" | ||||||
| 	authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1" | 	authorizationv1 "k8s.io/kubernetes/pkg/apis/authorization/v1" | ||||||
| @@ -34,7 +35,7 @@ type RESTStorageProvider struct { | |||||||
| 	Authorizer authorizer.Authorizer | 	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 { | 	if p.Authorizer == nil { | ||||||
| 		return genericapiserver.APIGroupInfo{}, false | 		return genericapiserver.APIGroupInfo{}, false | ||||||
| 	} | 	} | ||||||
| @@ -54,7 +55,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := authorizationv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
| @@ -71,7 +72,7 @@ func (p RESTStorageProvider) v1beta1Storage(apiResourceConfigSource genericapise | |||||||
| 	return storage | 	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 | 	version := authorizationv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/autoscaling" | 	"k8s.io/kubernetes/pkg/apis/autoscaling" | ||||||
| 	autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" | 	autoscalingapiv1 "k8s.io/kubernetes/pkg/apis/autoscaling/v1" | ||||||
| @@ -29,7 +30,7 @@ import ( | |||||||
|  |  | ||||||
| type RESTStorageProvider struct{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(autoscaling.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(autoscalingapiv1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(autoscalingapiv1.SchemeGroupVersion) { | ||||||
| @@ -44,7 +45,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := autoscalingapiv1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
| @@ -56,7 +57,7 @@ func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver. | |||||||
| 	return storage | 	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 | 	version := autoscalingapiv2alpha1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -21,6 +21,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/batch" | 	"k8s.io/kubernetes/pkg/apis/batch" | ||||||
| 	batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" | 	batchapiv1 "k8s.io/kubernetes/pkg/apis/batch/v1" | ||||||
| @@ -31,7 +32,7 @@ import ( | |||||||
|  |  | ||||||
| type RESTStorageProvider struct{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(batch.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(batchapiv2alpha1.SchemeGroupVersion) { | ||||||
| @@ -50,7 +51,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := batchapiv1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
| @@ -62,7 +63,7 @@ func (p RESTStorageProvider) v1Storage(apiResourceConfigSource genericapiserver. | |||||||
| 	return storage | 	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 | 	version := batchapiv2alpha1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/certificates" | 	"k8s.io/kubernetes/pkg/apis/certificates" | ||||||
| 	certificatesapiv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" | 	certificatesapiv1beta1 "k8s.io/kubernetes/pkg/apis/certificates/v1beta1" | ||||||
| @@ -28,7 +29,7 @@ import ( | |||||||
|  |  | ||||||
| type RESTStorageProvider struct{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(certificates.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1beta1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(certificatesapiv1beta1.SchemeGroupVersion) { | ||||||
| @@ -39,7 +40,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := certificatesapiv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -32,6 +32,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	etcdutil "k8s.io/apiserver/pkg/storage/etcd/util" | 	etcdutil "k8s.io/apiserver/pkg/storage/etcd/util" | ||||||
| 	restclient "k8s.io/client-go/rest" | 	restclient "k8s.io/client-go/rest" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| @@ -66,7 +67,7 @@ import ( | |||||||
| // LegacyRESTStorageProvider provides information needed to build RESTStorage for core, but | // LegacyRESTStorageProvider provides information needed to build RESTStorage for core, but | ||||||
| // does NOT implement the "normal" RESTStorageProvider (yet!) | // does NOT implement the "normal" RESTStorageProvider (yet!) | ||||||
| type LegacyRESTStorageProvider struct { | type LegacyRESTStorageProvider struct { | ||||||
| 	StorageFactory genericapiserver.StorageFactory | 	StorageFactory serverstorage.StorageFactory | ||||||
| 	// Used for custom proxy dialing, and proxy TLS options | 	// Used for custom proxy dialing, and proxy TLS options | ||||||
| 	ProxyTransport      http.RoundTripper | 	ProxyTransport      http.RoundTripper | ||||||
| 	KubeletClientConfig kubeletclient.KubeletClientConfig | 	KubeletClientConfig kubeletclient.KubeletClientConfig | ||||||
| @@ -238,7 +239,7 @@ func (p LegacyRESTStorageProvider) GroupName() string { | |||||||
| } | } | ||||||
|  |  | ||||||
| type componentStatusStorage struct { | type componentStatusStorage struct { | ||||||
| 	storageFactory genericapiserver.StorageFactory | 	storageFactory serverstorage.StorageFactory | ||||||
| } | } | ||||||
|  |  | ||||||
| func (s componentStatusStorage) serversToValidate() map[string]componentstatus.Server { | func (s componentStatusStorage) serversToValidate() map[string]componentstatus.Server { | ||||||
|   | |||||||
| @@ -27,6 +27,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/extensions" | 	"k8s.io/kubernetes/pkg/apis/extensions" | ||||||
| 	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" | 	extensionsapiv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" | ||||||
| @@ -45,7 +46,7 @@ type RESTStorageProvider struct { | |||||||
| 	ResourceInterface ResourceInterface | 	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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(extensions.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(extensionsapiv1beta1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(extensionsapiv1beta1.SchemeGroupVersion) { | ||||||
| @@ -56,7 +57,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := extensionsapiv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/policy" | 	"k8s.io/kubernetes/pkg/apis/policy" | ||||||
| 	policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" | 	policyapiv1beta1 "k8s.io/kubernetes/pkg/apis/policy/v1beta1" | ||||||
| @@ -28,7 +29,7 @@ import ( | |||||||
|  |  | ||||||
| type RESTStorageProvider struct{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(policy.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(policyapiv1beta1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(policyapiv1beta1.SchemeGroupVersion) { | ||||||
| @@ -38,7 +39,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := policyapiv1beta1.SchemeGroupVersion | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
| 	if apiResourceConfigSource.ResourceEnabled(version.WithResource("poddisruptionbudgets")) { | 	if apiResourceConfigSource.ResourceEnabled(version.WithResource("poddisruptionbudgets")) { | ||||||
|   | |||||||
| @@ -30,6 +30,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	"k8s.io/kubernetes/pkg/apis/rbac" | 	"k8s.io/kubernetes/pkg/apis/rbac" | ||||||
| 	rbacapiv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" | 	rbacapiv1alpha1 "k8s.io/kubernetes/pkg/apis/rbac/v1alpha1" | ||||||
| @@ -59,7 +60,7 @@ type RESTStorageProvider struct { | |||||||
|  |  | ||||||
| var _ genericapiserver.PostStartHookProvider = RESTStorageProvider{} | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(rbac.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(rbacapiv1alpha1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(rbacapiv1alpha1.SchemeGroupVersion) { | ||||||
| @@ -74,7 +75,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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) | 	once := new(sync.Once) | ||||||
| 	var ( | 	var ( | ||||||
| 		authorizationRuleResolver  rbacregistryvalidation.AuthorizationRuleResolver | 		authorizationRuleResolver  rbacregistryvalidation.AuthorizationRuleResolver | ||||||
|   | |||||||
| @@ -20,6 +20,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/registry/generic" | 	"k8s.io/apiserver/pkg/registry/generic" | ||||||
| 	"k8s.io/apiserver/pkg/registry/rest" | 	"k8s.io/apiserver/pkg/registry/rest" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/kubernetes/pkg/api" | 	"k8s.io/kubernetes/pkg/api" | ||||||
| 	storageapi "k8s.io/kubernetes/pkg/apis/storage" | 	storageapi "k8s.io/kubernetes/pkg/apis/storage" | ||||||
| 	storageapiv1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" | 	storageapiv1beta1 "k8s.io/kubernetes/pkg/apis/storage/v1beta1" | ||||||
| @@ -29,7 +30,7 @@ import ( | |||||||
| type RESTStorageProvider struct { | 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) | 	apiGroupInfo := genericapiserver.NewDefaultAPIGroupInfo(storageapi.GroupName, api.Registry, api.Scheme, api.ParameterCodec, api.Codecs) | ||||||
|  |  | ||||||
| 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(storageapiv1beta1.SchemeGroupVersion) { | 	if apiResourceConfigSource.AnyResourcesForVersionEnabled(storageapiv1beta1.SchemeGroupVersion) { | ||||||
| @@ -40,7 +41,7 @@ func (p RESTStorageProvider) NewRESTStorage(apiResourceConfigSource genericapise | |||||||
| 	return apiGroupInfo, true | 	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 | 	version := storageapiv1beta1.SchemeGroupVersion | ||||||
|  |  | ||||||
| 	storage := map[string]rest.Storage{} | 	storage := map[string]rest.Storage{} | ||||||
|   | |||||||
| @@ -17,13 +17,10 @@ limitations under the License. | |||||||
| package storage | package storage | ||||||
|  |  | ||||||
| import ( | import ( | ||||||
| 	"fmt" |  | ||||||
| 	"mime" |  | ||||||
| 	"strings" | 	"strings" | ||||||
|  |  | ||||||
| 	"k8s.io/apimachinery/pkg/runtime" | 	"k8s.io/apimachinery/pkg/runtime" | ||||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||||
| 	"k8s.io/apimachinery/pkg/runtime/serializer/recognizer" |  | ||||||
| 	"k8s.io/apimachinery/pkg/util/sets" | 	"k8s.io/apimachinery/pkg/util/sets" | ||||||
| 	"k8s.io/apiserver/pkg/storage/storagebackend" | 	"k8s.io/apiserver/pkg/storage/storagebackend" | ||||||
|  |  | ||||||
|   | |||||||
| @@ -23,20 +23,36 @@ import ( | |||||||
|  |  | ||||||
| 	"k8s.io/apimachinery/pkg/apimachinery/announced" | 	"k8s.io/apimachinery/pkg/apimachinery/announced" | ||||||
| 	"k8s.io/apimachinery/pkg/apimachinery/registered" | 	"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" | 	exampleinstall "k8s.io/apiserver/pkg/apis/example/install" | ||||||
| 	examplev1 "k8s.io/apiserver/pkg/apis/example/v1" |  | ||||||
| 	"k8s.io/apiserver/pkg/storage/storagebackend" | 	"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 ( | var ( | ||||||
|  | 	v1GroupVersion = schema.GroupVersion{Group: "", Version: "v1"} | ||||||
|  |  | ||||||
| 	registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS")) | 	registry = registered.NewOrDie(os.Getenv("KUBE_API_VERSIONS")) | ||||||
| 	announce = make(announced.APIGroupFactoryRegistry) | 	announce = make(announced.APIGroupFactoryRegistry) | ||||||
|  | 	scheme         = runtime.NewScheme() | ||||||
|  | 	codecs         = serializer.NewCodecFactory(scheme) | ||||||
|  | 	parameterCodec = runtime.NewParameterCodec(scheme) | ||||||
| ) | ) | ||||||
|  |  | ||||||
| func init() { | 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) | 	exampleinstall.Install(announce, registry, scheme) | ||||||
| } | } | ||||||
|  |  | ||||||
|   | |||||||
| @@ -40,6 +40,7 @@ import ( | |||||||
| 	"k8s.io/apiserver/pkg/authorization/authorizerfactory" | 	"k8s.io/apiserver/pkg/authorization/authorizerfactory" | ||||||
| 	authorizerunion "k8s.io/apiserver/pkg/authorization/union" | 	authorizerunion "k8s.io/apiserver/pkg/authorization/union" | ||||||
| 	genericapiserver "k8s.io/apiserver/pkg/server" | 	genericapiserver "k8s.io/apiserver/pkg/server" | ||||||
|  | 	serverstorage "k8s.io/apiserver/pkg/server/storage" | ||||||
| 	"k8s.io/apiserver/pkg/storage/storagebackend" | 	"k8s.io/apiserver/pkg/storage/storagebackend" | ||||||
| 	restclient "k8s.io/client-go/rest" | 	restclient "k8s.io/client-go/rest" | ||||||
| 	"k8s.io/client-go/tools/record" | 	"k8s.io/client-go/tools/record" | ||||||
| @@ -61,7 +62,6 @@ import ( | |||||||
| 	"k8s.io/kubernetes/pkg/controller" | 	"k8s.io/kubernetes/pkg/controller" | ||||||
| 	replicationcontroller "k8s.io/kubernetes/pkg/controller/replication" | 	replicationcontroller "k8s.io/kubernetes/pkg/controller/replication" | ||||||
| 	"k8s.io/kubernetes/pkg/generated/openapi" | 	"k8s.io/kubernetes/pkg/generated/openapi" | ||||||
| 	"k8s.io/kubernetes/pkg/kubeapiserver" |  | ||||||
| 	"k8s.io/kubernetes/pkg/kubectl" | 	"k8s.io/kubernetes/pkg/kubectl" | ||||||
| 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" | 	kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" | ||||||
| 	"k8s.io/kubernetes/pkg/master" | 	"k8s.io/kubernetes/pkg/master" | ||||||
| @@ -309,7 +309,7 @@ func GetEtcdURLFromEnv() string { | |||||||
|  |  | ||||||
| // Returns a basic master config. | // Returns a basic master config. | ||||||
| func NewMasterConfig() *master.Config { | func NewMasterConfig() *master.Config { | ||||||
| 	config := storagebackend.Config{ | 	storageConfig := storagebackend.Config{ | ||||||
| 		ServerList: []string{GetEtcdURLFromEnv()}, | 		ServerList: []string{GetEtcdURLFromEnv()}, | ||||||
| 		// This causes the integration tests to exercise the etcd | 		// This causes the integration tests to exercise the etcd | ||||||
| 		// prefix code, so please don't change without ensuring | 		// 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) | 	info, _ := runtime.SerializerInfoForMediaType(api.Codecs.SupportedMediaTypes(), runtime.ContentTypeJSON) | ||||||
| 	ns := NewSingleContentTypeSerializer(api.Scheme, info) | 	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( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: v1.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: v1.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: autoscaling.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: autoscaling.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: batch.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: batch.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: apps.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: apps.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: extensions.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: extensions.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: policy.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: policy.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: rbac.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: rbac.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: certificates.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: certificates.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
| 	storageFactory.SetSerializer( | 	storageFactory.SetSerializer( | ||||||
| 		schema.GroupResource{Group: storage.GroupName, Resource: genericapiserver.AllResources}, | 		schema.GroupResource{Group: storage.GroupName, Resource: serverstorage.AllResources}, | ||||||
| 		"", | 		"", | ||||||
| 		ns) | 		ns) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Dr. Stefan Schimanski
					Dr. Stefan Schimanski