Add version mapping in ComponentGlobalsRegistry.

Signed-off-by: Siyuan Zhang <sizhang@google.com>
This commit is contained in:
Siyuan Zhang
2024-05-31 20:29:48 -07:00
parent 701e5fc374
commit 4352c4ad27
32 changed files with 853 additions and 409 deletions

View File

@@ -53,7 +53,7 @@ func TestAddFlags(t *testing.T) {
featureGate := featuregate.NewFeatureGate()
componentRegistry := utilversion.NewComponentGlobalsRegistry()
effectiveVersion := utilversion.NewEffectiveVersion("1.32")
_ = componentRegistry.Register("test", effectiveVersion, featureGate, true)
utilruntime.Must(componentRegistry.Register("test", effectiveVersion, featureGate))
s := NewServerRunOptions(featureGate, effectiveVersion)
for _, f := range s.Flags().FlagSets {
fs.AddFlagSet(f)

View File

@@ -43,6 +43,7 @@ import (
"k8s.io/apimachinery/pkg/api/errors"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
utilerrors "k8s.io/apimachinery/pkg/util/errors"
utilruntime "k8s.io/apimachinery/pkg/util/runtime"
"k8s.io/apimachinery/pkg/util/wait"
serveroptions "k8s.io/apiserver/pkg/server/options"
"k8s.io/apiserver/pkg/storage/storagebackend"
@@ -182,12 +183,12 @@ func StartTestServer(t ktesting.TB, instanceOptions *TestServerInstanceOptions,
fs := pflag.NewFlagSet("test", pflag.PanicOnError)
featureGate := utilfeature.DefaultMutableFeatureGate
binaryVersion := utilversion.DefaultKubeEffectiveVersion().BinaryVersion().String()
effectiveVersion := utilversion.DefaultKubeEffectiveVersion()
if instanceOptions.BinaryVersion != "" {
binaryVersion = instanceOptions.BinaryVersion
effectiveVersion = utilversion.NewEffectiveVersion(instanceOptions.BinaryVersion)
}
effectiveVersion := utilversion.NewEffectiveVersion(binaryVersion)
_ = utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate, true)
utilversion.DefaultComponentGlobalsRegistry.Reset()
utilruntime.Must(utilversion.DefaultComponentGlobalsRegistry.Register(utilversion.DefaultKubeComponent, effectiveVersion, featureGate))
s := options.NewServerRunOptions(featureGate, effectiveVersion)