From 868ec5a6373b6dad2fc4eb290465aee75c2acf81 Mon Sep 17 00:00:00 2001 From: Jefftree Date: Thu, 24 Oct 2024 13:08:23 +0000 Subject: [PATCH] Move ComponentSLIs to versioned features and mark as GA --- .../metrics/features/kube_features.go | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/staging/src/k8s.io/component-base/metrics/features/kube_features.go b/staging/src/k8s.io/component-base/metrics/features/kube_features.go index 3cd6c22afae..74b41684e8e 100644 --- a/staging/src/k8s.io/component-base/metrics/features/kube_features.go +++ b/staging/src/k8s.io/component-base/metrics/features/kube_features.go @@ -17,23 +17,30 @@ limitations under the License. package features import ( + "k8s.io/apimachinery/pkg/util/version" "k8s.io/component-base/featuregate" ) const ( // owner: @logicalhan // kep: https://kep.k8s.io/3466 - // alpha: v1.26 ComponentSLIs featuregate.Feature = "ComponentSLIs" ) -func featureGates() map[featuregate.Feature]featuregate.FeatureSpec { - return map[featuregate.Feature]featuregate.FeatureSpec{ - ComponentSLIs: {Default: true, PreRelease: featuregate.Beta}, + +func featureGates() map[featuregate.Feature]featuregate.VersionedSpecs { + return map[featuregate.Feature]featuregate.VersionedSpecs{ + ComponentSLIs: { + {Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha}, + {Version: version.MustParse("1.27"), Default: true, PreRelease: featuregate.Beta}, + // ComponentSLIs officially graduated to GA in v1.29 but the gate was not updated until v1.32. + // To support emulated versions, keep the gate until v1.35. + {Version: version.MustParse("1.32"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, + }, } } // AddFeatureGates adds all feature gates used by this package. -func AddFeatureGates(mutableFeatureGate featuregate.MutableFeatureGate) error { - return mutableFeatureGate.Add(featureGates()) +func AddFeatureGates(mutableFeatureGate featuregate.MutableVersionedFeatureGate) error { + return mutableFeatureGate.AddVersioned(featureGates()) }