remove general avaliable feature-gate DevicePluginCDIDevices

Signed-off-by: carlory <baofa.fan@daocloud.io>
This commit is contained in:
carlory
2025-06-04 10:10:57 +08:00
parent e3b20c07d6
commit bd30b0adef
5 changed files with 5 additions and 45 deletions

View File

@@ -229,12 +229,6 @@ const (
// Deployments and replica sets can now also track terminating pods via .status.terminatingReplicas.
DeploymentReplicaSetTerminatingReplicas featuregate.Feature = "DeploymentReplicaSetTerminatingReplicas"
// owner: @elezar
// kep: http://kep.k8s.io/4009
//
// Add support for CDI Device IDs in the Device Plugin API.
DevicePluginCDIDevices featuregate.Feature = "DevicePluginCDIDevices"
// owner: @aojea
//
// The apiservers with the MultiCIDRServiceAllocator feature enable, in order to support live migration from the old bitmap ClusterIP
@@ -1149,12 +1143,6 @@ var defaultVersionedKubernetesFeatureGates = map[featuregate.Feature]featuregate
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Alpha},
},
DevicePluginCDIDevices: {
{Version: version.MustParse("1.28"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.29"), Default: true, PreRelease: featuregate.Beta},
{Version: version.MustParse("1.31"), Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.33
},
DisableAllocatorDualWrite: {
{Version: version.MustParse("1.31"), Default: false, PreRelease: featuregate.Alpha},
{Version: version.MustParse("1.33"), Default: false, PreRelease: featuregate.Beta},

View File

@@ -23,9 +23,7 @@ import (
"k8s.io/klog/v2"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature "k8s.io/apiserver/pkg/util/feature"
pluginapi "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
kubefeatures "k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/pkg/kubelet/cm/devicemanager/checkpoint"
kubecontainer "k8s.io/kubernetes/pkg/kubelet/container"
)
@@ -344,11 +342,9 @@ func (pdev *podDevices) deviceRunContainerOptions(podUID, contName string) *Devi
opts.Annotations = append(opts.Annotations, kubecontainer.Annotation{Name: k, Value: v})
}
if utilfeature.DefaultFeatureGate.Enabled(kubefeatures.DevicePluginCDIDevices) {
// Updates for CDI devices.
cdiDevices := getCDIDeviceInfo(resp, allCDIDevices)
opts.CDIDevices = append(opts.CDIDevices, cdiDevices...)
}
// Updates for CDI devices.
cdiDevices := getCDIDeviceInfo(resp, allCDIDevices)
opts.CDIDevices = append(opts.CDIDevices, cdiDevices...)
}
return opts

View File

@@ -407,20 +407,6 @@
lockToDefault: false
preRelease: Beta
version: "1.34"
- name: DevicePluginCDIDevices
versionedSpecs:
- default: false
lockToDefault: false
preRelease: Alpha
version: "1.28"
- default: true
lockToDefault: false
preRelease: Beta
version: "1.29"
- default: true
lockToDefault: true
preRelease: GA
version: "1.31"
- name: DisableAllocatorDualWrite
versionedSpecs:
- default: false

View File

@@ -106,12 +106,6 @@ var (
// Testing device plugins
DevicePlugin = framework.WithFeature(framework.ValidFeatures.Add("DevicePlugin"))
// owning-sig: sig-node
// kep: https://kep.k8s.io/4009
// DevicePluginCDIDevices tests the CDI feature which is GA.
// This label is used for https://testgrid.k8s.io/sig-node-cri-o#ci-crio-cdi-device-plugins
DevicePluginCDIDevices = framework.WithFeature(framework.ValidFeatures.Add("DevicePluginCDIDevices"))
// TODO: document the feature (owning SIG, when to use this feature for a test)
Downgrade = framework.WithFeature(framework.ValidFeatures.Add("Downgrade"))

View File

@@ -37,7 +37,6 @@ import (
"k8s.io/apimachinery/pkg/runtime/serializer"
k8stypes "k8s.io/apimachinery/pkg/types"
"k8s.io/apimachinery/pkg/util/sets"
utilfeature "k8s.io/apiserver/pkg/util/feature"
runtimeapi "k8s.io/cri-api/pkg/apis/runtime/v1"
kubeletdevicepluginv1beta1 "k8s.io/kubelet/pkg/apis/deviceplugin/v1beta1"
admissionapi "k8s.io/pod-security-admission/api"
@@ -48,7 +47,6 @@ import (
"k8s.io/kubectl/pkg/util/podutils"
kubeletpodresourcesv1 "k8s.io/kubelet/pkg/apis/podresources/v1"
kubeletpodresourcesv1alpha1 "k8s.io/kubelet/pkg/apis/podresources/v1alpha1"
"k8s.io/kubernetes/pkg/features"
"k8s.io/kubernetes/test/e2e/feature"
"k8s.io/kubernetes/test/e2e/framework"
e2enode "k8s.io/kubernetes/test/e2e/framework/node"
@@ -282,7 +280,7 @@ func testDevicePlugin(f *framework.Framework, pluginSockDir string) {
gomega.Expect(v1ResourcesForOurPod.Containers[0].Devices[0].DeviceIds).To(gomega.HaveLen(1))
})
f.It("can make a CDI device accessible in a container", feature.DevicePluginCDIDevices, func(ctx context.Context) {
f.It("can make a CDI device accessible in a container", func(ctx context.Context) {
// check if CDI_DEVICE env variable is set
// and only one correspondent device node /tmp/<CDI_DEVICE> is available inside a container
podObj := makeBusyboxPod(SampleDeviceResourceName, "[ $(ls /tmp/CDI-Dev-[1,2] | wc -l) -eq 1 -a -b /tmp/$CDI_DEVICE ]")
@@ -1120,9 +1118,7 @@ func getSampleDevicePluginPod(pluginSockDir string) *v1.Pod {
}
}
if utilfeature.DefaultFeatureGate.Enabled(features.DevicePluginCDIDevices) {
dp.Spec.Containers[0].Env = append(dp.Spec.Containers[0].Env, v1.EnvVar{Name: "CDI_ENABLED", Value: "1"})
}
dp.Spec.Containers[0].Env = append(dp.Spec.Containers[0].Env, v1.EnvVar{Name: "CDI_ENABLED", Value: "1"})
return dp
}