diff --git a/pkg/api/pod/util.go b/pkg/api/pod/util.go index 0d12ea511d2..07c42323d9f 100644 --- a/pkg/api/pod/util.go +++ b/pkg/api/pod/util.go @@ -396,8 +396,8 @@ func dropDisabledFields( podSpec.EphemeralContainers = nil } - if (!utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpath) || !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpathEnvExpansion)) && !subpathExprInUse(oldPodSpec) { - // drop subpath env expansion from the pod if either of the subpath features is disabled and the old spec did not specify subpath env expansion + if !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpath) && !subpathExprInUse(oldPodSpec) { + // drop subpath env expansion from the pod if subpath feature is disabled and the old spec did not specify subpath env expansion VisitContainers(podSpec, AllContainers, func(c *api.Container, containerType ContainerType) bool { for i := range c.VolumeMounts { c.VolumeMounts[i].SubPathExpr = "" diff --git a/pkg/api/pod/util_test.go b/pkg/api/pod/util_test.go index 4e103706364..decf72d0347 100644 --- a/pkg/api/pod/util_test.go +++ b/pkg/api/pod/util_test.go @@ -1512,7 +1512,6 @@ func TestDropSubPathExpr(t *testing.T) { } t.Run(fmt.Sprintf("feature enabled=%v, old pod %v, new pod %v", enabled, oldPodInfo.description, newPodInfo.description), func(t *testing.T) { - defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, enabled)() var oldPodSpec *api.PodSpec if oldPod != nil { diff --git a/pkg/apis/core/validation/validation_test.go b/pkg/apis/core/validation/validation_test.go index 8e23a7e93f5..a4e1b8928e2 100644 --- a/pkg/apis/core/validation/validation_test.go +++ b/pkg/apis/core/validation/validation_test.go @@ -5053,8 +5053,7 @@ func TestValidateDisabledSubpath(t *testing.T) { } func TestValidateSubpathMutuallyExclusive(t *testing.T) { - // Enable feature VolumeSubpathEnvExpansion and VolumeSubpath - defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, true)() + // Enable feature VolumeSubpath defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpath, true)() volumes := []core.Volume{ @@ -5137,8 +5136,6 @@ func TestValidateSubpathMutuallyExclusive(t *testing.T) { } func TestValidateDisabledSubpathExpr(t *testing.T) { - // Enable feature VolumeSubpathEnvExpansion - defer featuregatetesting.SetFeatureGateDuringTest(t, utilfeature.DefaultFeatureGate, features.VolumeSubpathEnvExpansion, true)() volumes := []core.Volume{ {Name: "abc", VolumeSource: core.VolumeSource{PersistentVolumeClaim: &core.PersistentVolumeClaimVolumeSource{ClaimName: "testclaim1"}}}, diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index da3286011ef..0e54cefb097 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -288,15 +288,6 @@ const ( // while making decisions. BalanceAttachedNodeVolumes featuregate.Feature = "BalanceAttachedNodeVolumes" - // owner: @kevtaylor - // alpha: v1.14 - // beta: v1.15 - // ga: v1.17 - // - // Allow subpath environment variable substitution - // Only applicable if the VolumeSubpath feature is also enabled - VolumeSubpathEnvExpansion featuregate.Feature = "VolumeSubpathEnvExpansion" - // owner: @vladimirvivien // alpha: v1.11 // beta: v1.14 @@ -646,7 +637,6 @@ var defaultKubernetesFeatureGates = map[featuregate.Feature]featuregate.FeatureS VolumeSubpath: {Default: true, PreRelease: featuregate.GA}, ConfigurableFSGroupPolicy: {Default: false, PreRelease: featuregate.Alpha}, BalanceAttachedNodeVolumes: {Default: false, PreRelease: featuregate.Alpha}, - VolumeSubpathEnvExpansion: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.19, CSIBlockVolume: {Default: true, PreRelease: featuregate.GA, LockToDefault: true}, // remove in 1.20 CSIInlineVolume: {Default: true, PreRelease: featuregate.Beta}, RuntimeClass: {Default: true, PreRelease: featuregate.Beta}, diff --git a/pkg/kubelet/kubelet_pods.go b/pkg/kubelet/kubelet_pods.go index 9d45549bf64..345566d1026 100644 --- a/pkg/kubelet/kubelet_pods.go +++ b/pkg/kubelet/kubelet_pods.go @@ -167,10 +167,6 @@ func makeMounts(pod *v1.Pod, podDir string, container *v1.Container, hostName, h return nil, cleanupAction, fmt.Errorf("volume subpaths are disabled") } - if !utilfeature.DefaultFeatureGate.Enabled(features.VolumeSubpathEnvExpansion) { - return nil, cleanupAction, fmt.Errorf("volume subpath expansion is disabled") - } - subPath, err = kubecontainer.ExpandContainerVolumeMounts(mount, expandEnvs) if err != nil {