diff --git a/pkg/apis/flowcontrol/install/install.go b/pkg/apis/flowcontrol/install/install.go index 1c8d382c83d..825091e114a 100644 --- a/pkg/apis/flowcontrol/install/install.go +++ b/pkg/apis/flowcontrol/install/install.go @@ -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 diff --git a/pkg/apis/flowcontrol/internalbootstrap/BUILD b/pkg/apis/flowcontrol/internalbootstrap/BUILD index 039f13cd74a..565f63683d7 100644 --- a/pkg/apis/flowcontrol/internalbootstrap/BUILD +++ b/pkg/apis/flowcontrol/internalbootstrap/BUILD @@ -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", diff --git a/pkg/apis/flowcontrol/internalbootstrap/default-internal.go b/pkg/apis/flowcontrol/internalbootstrap/default-internal.go index dd33b8e7664..0e3a3b449e7 100644 --- a/pkg/apis/flowcontrol/internalbootstrap/default-internal.go +++ b/pkg/apis/flowcontrol/internalbootstrap/default-internal.go @@ -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{}) diff --git a/pkg/apis/flowcontrol/internalbootstrap/defaults_test.go b/pkg/apis/flowcontrol/internalbootstrap/defaults_test.go index ff37262b2c6..51cb9e52c5e 100644 --- a/pkg/apis/flowcontrol/internalbootstrap/defaults_test.go +++ b/pkg/apis/flowcontrol/internalbootstrap/defaults_test.go @@ -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 {