Made internalbootstrap gin up its own Scheme

doing our part to reduce usage of legacyscheme.Scheme
This commit is contained in:
Mike Spreitzer 2020-01-17 16:18:48 -05:00
parent 5330bd7440
commit 4d88acee51
4 changed files with 14 additions and 12 deletions

View File

@ -27,12 +27,7 @@ import (
)
func init() {
Install(GetTheScheme())
}
// GetTheScheme returns the `*Scheme` with which this package registers stuff
func GetTheScheme() *runtime.Scheme {
return legacyscheme.Scheme
Install(legacyscheme.Scheme)
}
// Install registers the API group and adds types to a scheme

View File

@ -10,6 +10,7 @@ go_library(
"//pkg/apis/flowcontrol/install:go_default_library",
"//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/conversion:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/runtime:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap:go_default_library",
],
)
@ -33,7 +34,6 @@ go_test(
srcs = ["defaults_test.go"],
embed = [":go_default_library"],
deps = [
"//pkg/apis/flowcontrol/install:go_default_library",
"//staging/src/k8s.io/api/flowcontrol/v1alpha1:go_default_library",
"//staging/src/k8s.io/apimachinery/pkg/api/equality:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap:go_default_library",

View File

@ -19,6 +19,7 @@ package internalbootstrap
import (
fcv1a1 "k8s.io/api/flowcontrol/v1alpha1"
"k8s.io/apimachinery/pkg/conversion"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap"
"k8s.io/kubernetes/pkg/apis/flowcontrol"
"k8s.io/kubernetes/pkg/apis/flowcontrol/install"
@ -37,9 +38,15 @@ var MandatoryFlowSchemas = internalizeFSes(bootstrap.MandatoryFlowSchemas)
// reachable from this map.
var MandatoryPriorityLevelConfigurations = internalizePLs(bootstrap.MandatoryPriorityLevelConfigurations)
func NewAPFScheme() *runtime.Scheme {
scheme := runtime.NewScheme()
install.Install(scheme)
return scheme
}
func internalizeFSes(exts []*fcv1a1.FlowSchema) map[string]*flowcontrol.FlowSchema {
ans := make(map[string]*flowcontrol.FlowSchema, len(exts))
converter := install.GetTheScheme().Converter()
converter := NewAPFScheme().Converter()
for _, ext := range exts {
var untyped flowcontrol.FlowSchema
err := converter.Convert(ext, &untyped, 0, &conversion.Meta{})
@ -53,7 +60,7 @@ func internalizeFSes(exts []*fcv1a1.FlowSchema) map[string]*flowcontrol.FlowSche
func internalizePLs(exts []*fcv1a1.PriorityLevelConfiguration) map[string]*flowcontrol.PriorityLevelConfiguration {
ans := make(map[string]*flowcontrol.PriorityLevelConfiguration, len(exts))
converter := install.GetTheScheme().Converter()
converter := NewAPFScheme().Converter()
for _, ext := range exts {
var untyped flowcontrol.PriorityLevelConfiguration
err := converter.Convert(ext, &untyped, 0, &conversion.Meta{})

View File

@ -22,13 +22,13 @@ import (
fcv1a1 "k8s.io/api/flowcontrol/v1alpha1"
apiequality "k8s.io/apimachinery/pkg/api/equality"
"k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap"
"k8s.io/kubernetes/pkg/apis/flowcontrol/install"
)
func TestMandatoryAlreadyDefaulted(t *testing.T) {
scheme := NewAPFScheme()
for _, obj := range bootstrap.MandatoryFlowSchemas {
obj2 := obj.DeepCopyObject().(*fcv1a1.FlowSchema)
install.GetTheScheme().Default(obj2)
scheme.Default(obj2)
if apiequality.Semantic.DeepEqual(obj, obj2) {
t.Logf("Defaulting makes no change to %#+v", *obj)
} else {
@ -37,7 +37,7 @@ func TestMandatoryAlreadyDefaulted(t *testing.T) {
}
for _, obj := range bootstrap.MandatoryPriorityLevelConfigurations {
obj2 := obj.DeepCopyObject().(*fcv1a1.PriorityLevelConfiguration)
install.GetTheScheme().Default(obj2)
scheme.Default(obj2)
if apiequality.Semantic.DeepEqual(obj, obj2) {
t.Logf("Defaulting makes no change to %#+v", *obj)
} else {