Skip to content

Commit 775feed

Browse files
authored
Merge pull request kubernetes#90018 from wojtek-t/deprecate_default_conversions
Deprecate default conversions
2 parents 52243de + f624314 commit 775feed

File tree

10 files changed

+31
-617
lines changed

10 files changed

+31
-617
lines changed

pkg/controller/daemon/BUILD

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ go_test(
5959
],
6060
embed = [":go_default_library"],
6161
deps = [
62-
"//pkg/api/legacyscheme:go_default_library",
6362
"//pkg/api/v1/pod:go_default_library",
6463
"//pkg/apis/core:go_default_library",
6564
"//pkg/apis/scheduling:go_default_library",

pkg/controller/daemon/daemon_controller_test.go

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ import (
4141
"k8s.io/client-go/tools/record"
4242
"k8s.io/client-go/util/flowcontrol"
4343
"k8s.io/client-go/util/workqueue"
44-
"k8s.io/kubernetes/pkg/api/legacyscheme"
4544
podutil "k8s.io/kubernetes/pkg/api/v1/pod"
4645
api "k8s.io/kubernetes/pkg/apis/core"
4746
"k8s.io/kubernetes/pkg/apis/scheduling"
@@ -248,9 +247,7 @@ func (f *fakePodControl) CreatePodsOnNode(nodeName, namespace string, template *
248247
},
249248
}
250249

251-
if err := legacyscheme.Scheme.Convert(&template.Spec, &pod.Spec, nil); err != nil {
252-
return fmt.Errorf("unable to convert pod template: %v", err)
253-
}
250+
template.Spec.DeepCopyInto(&pod.Spec)
254251
if len(nodeName) != 0 {
255252
pod.Spec.NodeName = nodeName
256253
}
@@ -282,9 +279,7 @@ func (f *fakePodControl) CreatePodsWithControllerRef(namespace string, template
282279

283280
pod.Name = names.SimpleNameGenerator.GenerateName(fmt.Sprintf("%p-", pod))
284281

285-
if err := legacyscheme.Scheme.Convert(&template.Spec, &pod.Spec, nil); err != nil {
286-
return fmt.Errorf("unable to convert pod template: %v", err)
287-
}
282+
template.Spec.DeepCopyInto(&pod.Spec)
288283

289284
f.podStore.Update(pod)
290285
f.podIDMap[pod.Name] = pod

staging/src/k8s.io/apimachinery/pkg/conversion/BUILD

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,7 @@ go_test(
1313
"helper_test.go",
1414
],
1515
embed = [":go_default_library"],
16-
deps = [
17-
"//staging/src/k8s.io/apimachinery/pkg/util/diff:go_default_library",
18-
"//vendor/github.com/google/gofuzz:go_default_library",
19-
"//vendor/github.com/spf13/pflag:go_default_library",
20-
],
16+
deps = ["//vendor/github.com/spf13/pflag:go_default_library"],
2117
)
2218

2319
go_library(

staging/src/k8s.io/apimachinery/pkg/conversion/converter.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -442,20 +442,20 @@ func (c *Converter) doConversion(src, dest interface{}, flags FieldMatchingFlags
442442
if fn, ok := c.generatedConversionFuncs.untyped[pair]; ok {
443443
return fn(src, dest, scope)
444444
}
445-
// TODO: consider everything past this point deprecated - we want to support only point to point top level
446-
// conversions
447445

448446
dv, err := EnforcePtr(dest)
449447
if err != nil {
450448
return err
451449
}
452-
if !dv.CanAddr() && !dv.CanSet() {
453-
return fmt.Errorf("can't write to dest")
454-
}
455450
sv, err := EnforcePtr(src)
456451
if err != nil {
457452
return err
458453
}
454+
return fmt.Errorf("converting (%s) to (%s): unknown conversion", sv.Type(), dv.Type())
455+
456+
// TODO: Everything past this point is deprecated.
457+
// Remove in 1.20 once we're sure it didn't break anything.
458+
459459
// Leave something on the stack, so that calls to struct tag getters never fail.
460460
scope.srcStack.push(scopeStackElem{})
461461
scope.destStack.push(scopeStackElem{})

0 commit comments

Comments
 (0)