mirror of
https://github.com/kubernetes/kubernetes.git
synced 2026-06-09 00:34:10 -04:00
DRA: lock to default-on
The core functionality was enabled by default in 1.34 without any issues that would have suggested turning it off, so now we can lock it to on-by-default. Tests which cover disabling the feature must use version emulation.
This commit is contained in:
parent
83e8760449
commit
8b6f98b06e
10 changed files with 33 additions and 2 deletions
|
|
@ -1058,6 +1058,9 @@ func TestDropDynamicResourceAllocation(t *testing.T) {
|
|||
|
||||
for _, tc := range testcases {
|
||||
t.Run(tc.description, func(t *testing.T) {
|
||||
if !tc.enabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, featuregatetesting.FeatureOverrides{
|
||||
features.DynamicResourceAllocation: tc.enabled,
|
||||
features.DRAExtendedResource: tc.extendedEnabled,
|
||||
|
|
|
|||
|
|
@ -1196,7 +1196,9 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
|
|||
DynamicResourceAllocation: {
|
||||
{Version: version.MustParse("1.26"), Default: false, PreRelease: featuregate.Alpha},
|
||||
{Version: version.MustParse("1.32"), Default: false, PreRelease: featuregate.Beta},
|
||||
{Version: version.MustParse("1.34"), Default: true, PreRelease: featuregate.GA}, // lock to default in 1.35
|
||||
{Version: version.MustParse("1.34"), Default: true, PreRelease: featuregate.GA},
|
||||
{Version: version.MustParse("1.35"), Default: true, PreRelease: featuregate.GA, LockToDefault: true},
|
||||
// TODO (https://github.com/kubernetes/kubernetes/issues/134459): remove completely in 1.38
|
||||
},
|
||||
EnvFiles: {
|
||||
{Version: version.MustParse("1.34"), Default: false, PreRelease: featuregate.Alpha},
|
||||
|
|
|
|||
|
|
@ -4141,6 +4141,9 @@ func TestStatusPrepareForUpdate(t *testing.T) {
|
|||
|
||||
for _, tc := range testCases {
|
||||
t.Run(tc.description, func(t *testing.T) {
|
||||
if draEnabled, draExists := tc.features[features.DynamicResourceAllocation]; draExists && !draEnabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, tc.features)
|
||||
StatusStrategy.PrepareForUpdate(genericapirequest.NewContext(), tc.newPod, tc.oldPod)
|
||||
if !cmp.Equal(tc.expected, tc.newPod) {
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ import (
|
|||
"testing"
|
||||
|
||||
"github.com/google/go-cmp/cmp"
|
||||
"k8s.io/apimachinery/pkg/util/version"
|
||||
"k8s.io/apiserver/pkg/util/feature"
|
||||
"k8s.io/component-base/featuregate"
|
||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||
|
|
@ -101,6 +102,9 @@ func TestApplyFeatureGates(t *testing.T) {
|
|||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
if draEnabled, draExists := test.features[features.DynamicResourceAllocation]; draExists && !draEnabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, feature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGatesDuringTest(t, feature.DefaultFeatureGate, test.features)
|
||||
|
||||
gotConfig := getDefaultPlugins()
|
||||
|
|
|
|||
|
|
@ -558,6 +558,9 @@ func TestAddAllEventHandlers(t *testing.T) {
|
|||
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if !tt.enableDRA {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, featuregatetesting.FeatureOverrides{
|
||||
features.DynamicResourceAllocation: tt.enableDRA,
|
||||
features.DRADeviceTaints: tt.enableDRADeviceTaints,
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import (
|
|||
v1 "k8s.io/api/core/v1"
|
||||
"k8s.io/apimachinery/pkg/api/resource"
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/util/version"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
featuregatetesting "k8s.io/component-base/featuregate/testing"
|
||||
fwk "k8s.io/kube-scheduler/framework"
|
||||
|
|
@ -466,6 +467,9 @@ func Test_podSchedulingPropertiesChange(t *testing.T) {
|
|||
}
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
if tt.draDisabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.DynamicResourceAllocation, !tt.draDisabled)
|
||||
got := PodSchedulingPropertiesChange(tt.newPod, tt.oldPod)
|
||||
if diff := cmp.Diff(tt.want, got, cmpopts.EquateComparable(fwk.ClusterEvent{})); diff != "" {
|
||||
|
|
|
|||
|
|
@ -1006,7 +1006,7 @@ func Test_UnionedGVKs(t *testing.T) {
|
|||
t.Run(tt.name, func(t *testing.T) {
|
||||
pluginConfig := defaults.PluginConfigsV1
|
||||
|
||||
if !tt.enableSchedulerQueueingHints {
|
||||
if !tt.enableSchedulerQueueingHints || !tt.enableDynamicResourceAllocation {
|
||||
// Set emulated version before setting other feature gates, since it can impact feature dependencies.
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.33"))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2555,6 +2555,9 @@ func TestAdmitResourceSlice(t *testing.T) {
|
|||
attributes := admission.NewAttributesRecord(
|
||||
test.obj, test.oldObj, schema.GroupVersionKind{},
|
||||
"", "foo", apiResource, "", test.operation, test.options, false, mynode)
|
||||
if !test.featureEnabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, feature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGateDuringTest(t, feature.DefaultFeatureGate, features.DynamicResourceAllocation, test.featureEnabled)
|
||||
a := &admitTestCase{
|
||||
name: name,
|
||||
|
|
|
|||
|
|
@ -517,6 +517,10 @@
|
|||
lockToDefault: false
|
||||
preRelease: GA
|
||||
version: "1.34"
|
||||
- default: true
|
||||
lockToDefault: true
|
||||
preRelease: GA
|
||||
version: "1.35"
|
||||
- name: EnvFiles
|
||||
versionedSpecs:
|
||||
- default: false
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ import (
|
|||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
"k8s.io/apimachinery/pkg/runtime/schema"
|
||||
"k8s.io/apimachinery/pkg/util/version"
|
||||
utilfeature "k8s.io/apiserver/pkg/util/feature"
|
||||
resourceapiac "k8s.io/client-go/applyconfigurations/resource/v1"
|
||||
"k8s.io/client-go/informers"
|
||||
|
|
@ -337,6 +338,10 @@ func TestDRA(t *testing.T) {
|
|||
sort.Strings(entries)
|
||||
t.Logf("Config: %s", strings.Join(entries, ","))
|
||||
|
||||
// We need to set emulation version for DynamicResourceAllocation feature gate, which is locked at 1.35.
|
||||
if draEnabled, draExists := tc.features[features.DynamicResourceAllocation]; draExists && !draEnabled {
|
||||
featuregatetesting.SetFeatureGateEmulationVersionDuringTest(t, utilfeature.DefaultFeatureGate, version.MustParse("1.34"))
|
||||
}
|
||||
featuregatetesting.SetFeatureGatesDuringTest(t, utilfeature.DefaultFeatureGate, tc.features)
|
||||
|
||||
etcdOptions := framework.SharedEtcd()
|
||||
|
|
|
|||
Loading…
Reference in a new issue