diff --git a/staging/src/k8s.io/apiserver/pkg/server/options/etcd.go b/staging/src/k8s.io/apiserver/pkg/server/options/etcd.go index 6a0a5891410..83210381b85 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/options/etcd.go +++ b/staging/src/k8s.io/apiserver/pkg/server/options/etcd.go @@ -133,7 +133,8 @@ func (s *EtcdOptions) AddFlags(fs *pflag.FlagSet) { fs.StringVar(&s.DefaultStorageMediaType, "storage-media-type", s.DefaultStorageMediaType, ""+ "The media type to use to store objects in storage. "+ - "Some resources or storage backends may only support a specific media type and will ignore this setting.") + "Some resources or storage backends may only support a specific media type and will ignore this setting. "+ + "Supported media types: [application/json, application/yaml, application/vnd.kubernetes.protobuf]") fs.IntVar(&s.DeleteCollectionWorkers, "delete-collection-workers", s.DeleteCollectionWorkers, "Number of workers spawned for DeleteCollection call. These are used to speed up namespace cleanup.") diff --git a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_codec.go b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_codec.go index 96faa171229..4f5a398a087 100644 --- a/staging/src/k8s.io/apiserver/pkg/server/storage/storage_codec.go +++ b/staging/src/k8s.io/apiserver/pkg/server/storage/storage_codec.go @@ -46,9 +46,14 @@ func NewStorageCodec(opts StorageCodecConfig) (runtime.Codec, runtime.GroupVersi return nil, nil, fmt.Errorf("%q is not a valid mime-type", opts.StorageMediaType) } - serializer, ok := runtime.SerializerInfoForMediaType(opts.StorageSerializer.SupportedMediaTypes(), mediaType) + supportedMediaTypes := opts.StorageSerializer.SupportedMediaTypes() + serializer, ok := runtime.SerializerInfoForMediaType(supportedMediaTypes, mediaType) if !ok { - return nil, nil, fmt.Errorf("unable to find serializer for %q", mediaType) + supportedMediaTypeList := make([]string, len(supportedMediaTypes)) + for i, mediaType := range supportedMediaTypes { + supportedMediaTypeList[i] = mediaType.MediaType + } + return nil, nil, fmt.Errorf("unable to find serializer for %q, supported media types: %v", mediaType, supportedMediaTypeList) } s := serializer.Serializer