mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-06-11 09:53:38 -04:00
test/compatibility_lifecycle: resolve feature names from variables
Signed-off-by: Siyuan Zhang <sizhang@google.com>
This commit is contained in:
parent
8629b87211
commit
a8efd27b3b
3 changed files with 47 additions and 18 deletions
|
|
@ -57,7 +57,10 @@ type featureSpec struct {
|
|||
}
|
||||
|
||||
type featureInfo struct {
|
||||
Name string `yaml:"name" json:"name"`
|
||||
Name string `yaml:"name" json:"name"`
|
||||
// FullName is the full name of the feature, including the package name,
|
||||
// used for ensuring that features are grouped by their package prefix first,
|
||||
// and then sorted alphabetically within that group.
|
||||
FullName string `yaml:"-" json:"-"`
|
||||
VersionedSpecs []featureSpec `yaml:"versionedSpecs" json:"versionedSpecs"`
|
||||
}
|
||||
|
|
@ -423,9 +426,20 @@ func isFeatureSpecType(v ast.Expr, aliasMap map[string]string) bool {
|
|||
}
|
||||
|
||||
func parseFeatureInfo(variables map[string]ast.Expr, kv *ast.KeyValueExpr) (featureInfo, error) {
|
||||
name := identifierName(kv.Key, true)
|
||||
fullName := identifierName(kv.Key, false)
|
||||
|
||||
if id, ok := kv.Key.(*ast.Ident); ok {
|
||||
if varVal, ok := variables[id.Name]; ok {
|
||||
if strVal, err := basicStringLiteral(varVal); err == nil {
|
||||
name = strVal
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
info := featureInfo{
|
||||
Name: identifierName(kv.Key, true),
|
||||
FullName: identifierName(kv.Key, false),
|
||||
Name: name,
|
||||
FullName: fullName,
|
||||
VersionedSpecs: []featureSpec{},
|
||||
}
|
||||
specExps := []ast.Expr{}
|
||||
|
|
|
|||
|
|
@ -108,7 +108,7 @@ func TestVerifyOrUpdateFeatureListVersioned(t *testing.T) {
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.30"
|
||||
- name: CPUCFSQuotaPeriod
|
||||
- name: CustomCPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
|
|
@ -136,6 +136,9 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/component-base/featuregate"
|
||||
)
|
||||
|
||||
const CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod"
|
||||
|
||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||
AppArmorFields: {
|
||||
{Version: version.MajorMinor(1, 30), Default: true, PreRelease: featuregate.Beta},
|
||||
|
|
@ -166,6 +169,9 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/component-base/featuregate"
|
||||
)
|
||||
|
||||
const CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod"
|
||||
|
||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||
AppArmorFields: {
|
||||
{Version: version.MajorMinor(1, 30), Default: true, PreRelease: featuregate.Beta},
|
||||
|
|
@ -196,7 +202,7 @@ var otherFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.30"
|
||||
- name: CPUCFSQuotaPeriod
|
||||
- name: CustomCPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
|
|
@ -276,6 +282,9 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/component-base/featuregate"
|
||||
)
|
||||
|
||||
const CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod"
|
||||
|
||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||
AppArmorFields: {
|
||||
{Version: version.MajorMinor(1, 30), Default: true, PreRelease: featuregate.Beta},
|
||||
|
|
@ -312,7 +321,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.30"
|
||||
- name: CPUCFSQuotaPeriod
|
||||
- name: CustomCPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
|
|
@ -333,6 +342,9 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/component-base/featuregate"
|
||||
)
|
||||
|
||||
const CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod"
|
||||
|
||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||
CPUCFSQuotaPeriod: {
|
||||
{Version: version.MustParse("1.30"), Default: false, PreRelease: featuregate.Alpha},
|
||||
|
|
@ -373,6 +385,9 @@ import (
|
|||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/component-base/featuregate"
|
||||
)
|
||||
|
||||
const CPUCFSQuotaPeriod featuregate.Feature = "CustomCPUCFSQuotaPeriod"
|
||||
|
||||
var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate.VersionedSpecs{
|
||||
AppArmorFields: {
|
||||
{Version: version.MajorMinor(1, 30), Default: true, PreRelease: featuregate.Beta},
|
||||
|
|
@ -401,7 +416,7 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.30"
|
||||
- name: CPUCFSQuotaPeriod
|
||||
- name: CustomCPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
|
|
|
|||
|
|
@ -325,16 +325,6 @@
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.33"
|
||||
- name: CPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
preRelease: Alpha
|
||||
version: "1.12"
|
||||
- default: true
|
||||
lockToDefault: false
|
||||
preRelease: GA
|
||||
version: "1.36"
|
||||
- name: CPUManagerPolicyAlphaOptions
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
|
|
@ -413,6 +403,16 @@
|
|||
lockToDefault: false
|
||||
preRelease: Alpha
|
||||
version: "1.21"
|
||||
- name: CustomCPUCFSQuotaPeriod
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
preRelease: Alpha
|
||||
version: "1.12"
|
||||
- default: true
|
||||
lockToDefault: false
|
||||
preRelease: GA
|
||||
version: "1.36"
|
||||
- name: CustomResourceFieldSelectors
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
|
|
@ -1731,7 +1731,7 @@
|
|||
lockToDefault: false
|
||||
preRelease: Beta
|
||||
version: "1.12"
|
||||
- name: RuntimeClassInImageCriAPI
|
||||
- name: RuntimeClassInImageCriApi
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
lockToDefault: false
|
||||
|
|
|
|||
Loading…
Reference in a new issue