Skip to content

Commit 060e0de

Browse files
authored
Merge pull request kubernetes#85945 from obitech/kubelet_refactor_lenient_path
Refactor kubelet component config lenient path decoding
2 parents c2b312b + bf92350 commit 060e0de

File tree

2 files changed

+7
-15
lines changed

2 files changed

+7
-15
lines changed

pkg/kubelet/kubeletconfig/util/codec/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ go_library(
1818
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
1919
"//staging/src/k8s.io/apimachinery/pkg/runtime/schema:go_default_library",
2020
"//staging/src/k8s.io/apimachinery/pkg/runtime/serializer:go_default_library",
21+
"//staging/src/k8s.io/component-base/codec:go_default_library",
2122
"//vendor/github.com/pkg/errors:go_default_library",
2223
"//vendor/k8s.io/klog:go_default_library",
2324
],

pkg/kubelet/kubeletconfig/util/codec/codec.go

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import (
2828
"k8s.io/apimachinery/pkg/runtime"
2929
"k8s.io/apimachinery/pkg/runtime/schema"
3030
"k8s.io/apimachinery/pkg/runtime/serializer"
31+
"k8s.io/component-base/codec"
3132
"k8s.io/kubernetes/pkg/api/legacyscheme"
3233
kubeletconfig "k8s.io/kubernetes/pkg/kubelet/apis/config"
3334
"k8s.io/kubernetes/pkg/kubelet/apis/config/scheme"
@@ -80,20 +81,6 @@ func NewYAMLEncoder(groupName string) (runtime.Encoder, error) {
8081
return legacyscheme.Codecs.EncoderForVersion(info.Serializer, versions[0]), nil
8182
}
8283

83-
// newLenientSchemeAndCodecs returns a scheme that has only v1beta1 registered into
84-
// it and a CodecFactory with strict decoding disabled.
85-
func newLenientSchemeAndCodecs() (*runtime.Scheme, *serializer.CodecFactory, error) {
86-
lenientScheme := runtime.NewScheme()
87-
if err := kubeletconfig.AddToScheme(lenientScheme); err != nil {
88-
return nil, nil, fmt.Errorf("failed to add internal kubelet config API to lenient scheme: %v", err)
89-
}
90-
if err := kubeletconfigv1beta1.AddToScheme(lenientScheme); err != nil {
91-
return nil, nil, fmt.Errorf("failed to add kubelet config v1beta1 API to lenient scheme: %v", err)
92-
}
93-
lenientCodecs := serializer.NewCodecFactory(lenientScheme, serializer.DisableStrict)
94-
return lenientScheme, &lenientCodecs, nil
95-
}
96-
9784
// DecodeKubeletConfiguration decodes a serialized KubeletConfiguration to the internal type.
9885
func DecodeKubeletConfiguration(kubeletCodecs *serializer.CodecFactory, data []byte) (*kubeletconfig.KubeletConfiguration, error) {
9986
var (
@@ -112,7 +99,11 @@ func DecodeKubeletConfiguration(kubeletCodecs *serializer.CodecFactory, data []b
11299
}
113100

114101
var lenientErr error
115-
_, lenientCodecs, lenientErr := newLenientSchemeAndCodecs()
102+
_, lenientCodecs, lenientErr := codec.NewLenientSchemeAndCodecs(
103+
kubeletconfig.AddToScheme,
104+
kubeletconfigv1beta1.AddToScheme,
105+
)
106+
116107
if lenientErr != nil {
117108
return nil, lenientErr
118109
}

0 commit comments

Comments
 (0)