support both JSON and YAML for scheduler configuration

k3s-v1.15.3
danielqsj 2019-03-29 09:35:29 +08:00
parent b1829dff0b
commit 697ed2cc2a
2 changed files with 5 additions and 2 deletions

View File

@ -16,6 +16,7 @@ go_library(
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/json:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/versioning:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer/yaml:go_default_library",
],
)

View File

@ -21,6 +21,7 @@ import (
"k8s.io/apimachinery/pkg/runtime/schema"
"k8s.io/apimachinery/pkg/runtime/serializer/json"
"k8s.io/apimachinery/pkg/runtime/serializer/versioning"
"k8s.io/apimachinery/pkg/runtime/serializer/yaml"
schedulerapi "k8s.io/kubernetes/pkg/scheduler/api"
// Init the api v1 package
_ "k8s.io/kubernetes/pkg/scheduler/api/v1"
@ -44,10 +45,11 @@ var Codec runtime.Codec
func init() {
jsonSerializer := json.NewSerializer(json.DefaultMetaFactory, schedulerapi.Scheme, schedulerapi.Scheme, true)
serializer := yaml.NewDecodingSerializer(jsonSerializer)
Codec = versioning.NewDefaultingCodecForScheme(
schedulerapi.Scheme,
jsonSerializer,
jsonSerializer,
serializer,
serializer,
schema.GroupVersion{Version: Version},
runtime.InternalGroupVersioner,
)