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() { func init() {
Install(GetTheScheme()) Install(legacyscheme.Scheme)
}
// GetTheScheme returns the `*Scheme` with which this package registers stuff
func GetTheScheme() *runtime.Scheme {
return legacyscheme.Scheme
} }
// Install registers the API group and adds types to a 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", "//pkg/apis/flowcontrol/install:go_default_library",
"//staging/src/k8s.io/api/flowcontrol/v1alpha1: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/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", "//staging/src/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap:go_default_library",
], ],
) )
@ -33,7 +34,6 @@ go_test(
srcs = ["defaults_test.go"], srcs = ["defaults_test.go"],
embed = [":go_default_library"], embed = [":go_default_library"],
deps = [ deps = [
"//pkg/apis/flowcontrol/install:go_default_library",
"//staging/src/k8s.io/api/flowcontrol/v1alpha1: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/apimachinery/pkg/api/equality:go_default_library",
"//staging/src/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap:go_default_library", "//staging/src/k8s.io/apiserver/pkg/apis/flowcontrol/bootstrap:go_default_library",

View File

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

View File

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