diff --git a/test/integration/framework/BUILD b/test/integration/framework/BUILD index 05aa728d328..d34a48b5a2b 100644 --- a/test/integration/framework/BUILD +++ b/test/integration/framework/BUILD @@ -38,22 +38,13 @@ go_library( "//cmd/kube-apiserver/app:go_default_library", "//cmd/kube-apiserver/app/options:go_default_library", "//pkg/api/legacyscheme:go_default_library", - "//pkg/apis/batch:go_default_library", - "//pkg/apis/policy/v1beta1:go_default_library", "//pkg/generated/openapi:go_default_library", + "//pkg/kubeapiserver:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/master:go_default_library", "//pkg/util/env:go_default_library", "//pkg/version:go_default_library", - "//staging/src/k8s.io/api/apps/v1beta1:go_default_library", - "//staging/src/k8s.io/api/auditregistration/v1alpha1:go_default_library", - "//staging/src/k8s.io/api/autoscaling/v1:go_default_library", - "//staging/src/k8s.io/api/certificates/v1beta1:go_default_library", "//staging/src/k8s.io/api/core/v1:go_default_library", - "//staging/src/k8s.io/api/extensions/v1beta1:go_default_library", - "//staging/src/k8s.io/api/node/v1alpha1:go_default_library", - "//staging/src/k8s.io/api/rbac/v1alpha1:go_default_library", - "//staging/src/k8s.io/api/storage/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/api/resource:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library", "//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library", diff --git a/test/integration/framework/master_utils.go b/test/integration/framework/master_utils.go index 85b1b5f0120..efaf7e524a4 100644 --- a/test/integration/framework/master_utils.go +++ b/test/integration/framework/master_utils.go @@ -27,16 +27,6 @@ import ( "github.com/go-openapi/spec" "github.com/pborman/uuid" - apps "k8s.io/api/apps/v1beta1" - auditreg "k8s.io/api/auditregistration/v1alpha1" - autoscaling "k8s.io/api/autoscaling/v1" - certificates "k8s.io/api/certificates/v1beta1" - "k8s.io/api/core/v1" - extensions "k8s.io/api/extensions/v1beta1" - nodev1alpha1 "k8s.io/api/node/v1alpha1" - rbac "k8s.io/api/rbac/v1alpha1" - storage "k8s.io/api/storage/v1" - "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/wait" authauthenticator "k8s.io/apiserver/pkg/authentication/authenticator" @@ -57,9 +47,8 @@ import ( "k8s.io/klog" openapicommon "k8s.io/kube-openapi/pkg/common" "k8s.io/kubernetes/pkg/api/legacyscheme" - "k8s.io/kubernetes/pkg/apis/batch" - policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1" "k8s.io/kubernetes/pkg/generated/openapi" + "k8s.io/kubernetes/pkg/kubeapiserver" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/master" "k8s.io/kubernetes/pkg/version" @@ -285,62 +274,16 @@ func NewMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config { etcdOptions = opts.EtcdOptions } - info, _ := runtime.SerializerInfoForMediaType(legacyscheme.Codecs.SupportedMediaTypes(), runtime.ContentTypeJSON) - ns := NewSingleContentTypeSerializer(legacyscheme.Scheme, info) - - resourceEncoding := serverstorage.NewDefaultResourceEncodingConfig(legacyscheme.Scheme) - // FIXME (soltysh): this GroupVersionResource override should be configurable - resourceEncoding.SetResourceEncoding(schema.GroupResource{Group: batch.GroupName, Resource: "cronjobs"}, schema.GroupVersion{Group: batch.GroupName, Version: "v1beta1"}, schema.GroupVersion{Group: batch.GroupName, Version: runtime.APIVersionInternal}) - // we also need to set both for the storage group and for volumeattachments, separately - resourceEncoding.SetResourceEncoding(schema.GroupResource{Group: storage.GroupName, Resource: "volumeattachments"}, schema.GroupVersion{Group: storage.GroupName, Version: "v1beta1"}, schema.GroupVersion{Group: storage.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetResourceEncoding(schema.GroupResource{Group: storage.GroupName, Resource: "csinodes"}, schema.GroupVersion{Group: storage.GroupName, Version: "v1beta1"}, schema.GroupVersion{Group: storage.GroupName, Version: runtime.APIVersionInternal}) - resourceEncoding.SetResourceEncoding(schema.GroupResource{Group: storage.GroupName, Resource: "csidrivers"}, schema.GroupVersion{Group: storage.GroupName, Version: "v1beta1"}, schema.GroupVersion{Group: storage.GroupName, Version: runtime.APIVersionInternal}) - - storageFactory := serverstorage.NewDefaultStorageFactory(etcdOptions.StorageConfig, runtime.ContentTypeJSON, ns, resourceEncoding, master.DefaultAPIResourceConfigSource(), nil) - storageFactory.SetSerializer( - schema.GroupResource{Group: v1.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: autoscaling.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: batch.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: apps.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: extensions.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: policy.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: rbac.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: certificates.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: storage.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: auditreg.GroupName, Resource: serverstorage.AllResources}, - "", - ns) - storageFactory.SetSerializer( - schema.GroupResource{Group: nodev1alpha1.GroupName, Resource: serverstorage.AllResources}, - "", - ns) + storageConfig := kubeapiserver.NewStorageFactoryConfig() + storageConfig.ApiResourceConfig = serverstorage.NewResourceConfig() + completedStorageConfig, err := storageConfig.Complete(etcdOptions) + if err != nil { + panic(err) + } + storageFactory, err := completedStorageConfig.New() + if err != nil { + panic(err) + } genericConfig := genericapiserver.NewConfig(legacyscheme.Codecs) kubeVersion := version.Get() @@ -350,7 +293,7 @@ func NewMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config { // TODO: get rid of these tests or port them to secure serving genericConfig.SecureServing = &genericapiserver.SecureServingInfo{Listener: fakeLocalhost443Listener{}} - err := etcdOptions.ApplyWithStorageFactoryTo(storageFactory, genericConfig) + err = etcdOptions.ApplyWithStorageFactoryTo(storageFactory, genericConfig) if err != nil { panic(err) }