@@ -27,16 +27,6 @@ import (
27
27
28
28
"github.com/go-openapi/spec"
29
29
"github.com/pborman/uuid"
30
- apps "k8s.io/api/apps/v1beta1"
31
- auditreg "k8s.io/api/auditregistration/v1alpha1"
32
- autoscaling "k8s.io/api/autoscaling/v1"
33
- certificates "k8s.io/api/certificates/v1beta1"
34
- "k8s.io/api/core/v1"
35
- extensions "k8s.io/api/extensions/v1beta1"
36
- nodev1alpha1 "k8s.io/api/node/v1alpha1"
37
- rbac "k8s.io/api/rbac/v1alpha1"
38
- storage "k8s.io/api/storage/v1"
39
- "k8s.io/apimachinery/pkg/runtime"
40
30
"k8s.io/apimachinery/pkg/runtime/schema"
41
31
"k8s.io/apimachinery/pkg/util/wait"
42
32
authauthenticator "k8s.io/apiserver/pkg/authentication/authenticator"
@@ -57,9 +47,8 @@ import (
57
47
"k8s.io/klog"
58
48
openapicommon "k8s.io/kube-openapi/pkg/common"
59
49
"k8s.io/kubernetes/pkg/api/legacyscheme"
60
- "k8s.io/kubernetes/pkg/apis/batch"
61
- policy "k8s.io/kubernetes/pkg/apis/policy/v1beta1"
62
50
"k8s.io/kubernetes/pkg/generated/openapi"
51
+ "k8s.io/kubernetes/pkg/kubeapiserver"
63
52
kubeletclient "k8s.io/kubernetes/pkg/kubelet/client"
64
53
"k8s.io/kubernetes/pkg/master"
65
54
"k8s.io/kubernetes/pkg/version"
@@ -285,62 +274,16 @@ func NewMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config {
285
274
etcdOptions = opts .EtcdOptions
286
275
}
287
276
288
- info , _ := runtime .SerializerInfoForMediaType (legacyscheme .Codecs .SupportedMediaTypes (), runtime .ContentTypeJSON )
289
- ns := NewSingleContentTypeSerializer (legacyscheme .Scheme , info )
290
-
291
- resourceEncoding := serverstorage .NewDefaultResourceEncodingConfig (legacyscheme .Scheme )
292
- // FIXME (soltysh): this GroupVersionResource override should be configurable
293
- resourceEncoding .SetResourceEncoding (schema.GroupResource {Group : batch .GroupName , Resource : "cronjobs" }, schema.GroupVersion {Group : batch .GroupName , Version : "v1beta1" }, schema.GroupVersion {Group : batch .GroupName , Version : runtime .APIVersionInternal })
294
- // we also need to set both for the storage group and for volumeattachments, separately
295
- resourceEncoding .SetResourceEncoding (schema.GroupResource {Group : storage .GroupName , Resource : "volumeattachments" }, schema.GroupVersion {Group : storage .GroupName , Version : "v1beta1" }, schema.GroupVersion {Group : storage .GroupName , Version : runtime .APIVersionInternal })
296
- resourceEncoding .SetResourceEncoding (schema.GroupResource {Group : storage .GroupName , Resource : "csinodes" }, schema.GroupVersion {Group : storage .GroupName , Version : "v1beta1" }, schema.GroupVersion {Group : storage .GroupName , Version : runtime .APIVersionInternal })
297
- resourceEncoding .SetResourceEncoding (schema.GroupResource {Group : storage .GroupName , Resource : "csidrivers" }, schema.GroupVersion {Group : storage .GroupName , Version : "v1beta1" }, schema.GroupVersion {Group : storage .GroupName , Version : runtime .APIVersionInternal })
298
-
299
- storageFactory := serverstorage .NewDefaultStorageFactory (etcdOptions .StorageConfig , runtime .ContentTypeJSON , ns , resourceEncoding , master .DefaultAPIResourceConfigSource (), nil )
300
- storageFactory .SetSerializer (
301
- schema.GroupResource {Group : v1 .GroupName , Resource : serverstorage .AllResources },
302
- "" ,
303
- ns )
304
- storageFactory .SetSerializer (
305
- schema.GroupResource {Group : autoscaling .GroupName , Resource : serverstorage .AllResources },
306
- "" ,
307
- ns )
308
- storageFactory .SetSerializer (
309
- schema.GroupResource {Group : batch .GroupName , Resource : serverstorage .AllResources },
310
- "" ,
311
- ns )
312
- storageFactory .SetSerializer (
313
- schema.GroupResource {Group : apps .GroupName , Resource : serverstorage .AllResources },
314
- "" ,
315
- ns )
316
- storageFactory .SetSerializer (
317
- schema.GroupResource {Group : extensions .GroupName , Resource : serverstorage .AllResources },
318
- "" ,
319
- ns )
320
- storageFactory .SetSerializer (
321
- schema.GroupResource {Group : policy .GroupName , Resource : serverstorage .AllResources },
322
- "" ,
323
- ns )
324
- storageFactory .SetSerializer (
325
- schema.GroupResource {Group : rbac .GroupName , Resource : serverstorage .AllResources },
326
- "" ,
327
- ns )
328
- storageFactory .SetSerializer (
329
- schema.GroupResource {Group : certificates .GroupName , Resource : serverstorage .AllResources },
330
- "" ,
331
- ns )
332
- storageFactory .SetSerializer (
333
- schema.GroupResource {Group : storage .GroupName , Resource : serverstorage .AllResources },
334
- "" ,
335
- ns )
336
- storageFactory .SetSerializer (
337
- schema.GroupResource {Group : auditreg .GroupName , Resource : serverstorage .AllResources },
338
- "" ,
339
- ns )
340
- storageFactory .SetSerializer (
341
- schema.GroupResource {Group : nodev1alpha1 .GroupName , Resource : serverstorage .AllResources },
342
- "" ,
343
- ns )
277
+ storageConfig := kubeapiserver .NewStorageFactoryConfig ()
278
+ storageConfig .ApiResourceConfig = serverstorage .NewResourceConfig ()
279
+ completedStorageConfig , err := storageConfig .Complete (etcdOptions )
280
+ if err != nil {
281
+ panic (err )
282
+ }
283
+ storageFactory , err := completedStorageConfig .New ()
284
+ if err != nil {
285
+ panic (err )
286
+ }
344
287
345
288
genericConfig := genericapiserver .NewConfig (legacyscheme .Codecs )
346
289
kubeVersion := version .Get ()
@@ -350,7 +293,7 @@ func NewMasterConfigWithOptions(opts *MasterConfigOptions) *master.Config {
350
293
// TODO: get rid of these tests or port them to secure serving
351
294
genericConfig .SecureServing = & genericapiserver.SecureServingInfo {Listener : fakeLocalhost443Listener {}}
352
295
353
- err : = etcdOptions .ApplyWithStorageFactoryTo (storageFactory , genericConfig )
296
+ err = etcdOptions .ApplyWithStorageFactoryTo (storageFactory , genericConfig )
354
297
if err != nil {
355
298
panic (err )
356
299
}
0 commit comments