diff --git a/pkg/features/kube_features.go b/pkg/features/kube_features.go index d57ab14e06..b4e331bfb0 100644 --- a/pkg/features/kube_features.go +++ b/pkg/features/kube_features.go @@ -95,11 +95,6 @@ const ( // Ability to Expand persistent volumes ExpandPersistentVolumes utilfeature.Feature = "ExpandPersistentVolumes" - // owner: @mlmhl - // alpha: v1.11 - // Ability to expand persistent volumes' file system without unmounting volumes. - ExpandInUsePersistentVolumes utilfeature.Feature = "ExpandInUsePersistentVolumes" - // owner: @gnufied // alpha: v1.14 // Ability to expand CSI volumes @@ -436,7 +431,6 @@ var defaultKubernetesFeatureGates = map[utilfeature.Feature]utilfeature.FeatureS PodPriority: {Default: true, PreRelease: utilfeature.GA}, TaintNodesByCondition: {Default: true, PreRelease: utilfeature.Beta}, ExpandPersistentVolumes: {Default: true, PreRelease: utilfeature.Beta}, - ExpandInUsePersistentVolumes: {Default: false, PreRelease: utilfeature.Alpha}, ExpandCSIVolumes: {Default: false, PreRelease: utilfeature.Alpha}, AttachVolumeLimit: {Default: true, PreRelease: utilfeature.Beta}, CPUManager: {Default: true, PreRelease: utilfeature.Beta}, diff --git a/pkg/kubelet/volumemanager/cache/actual_state_of_world.go b/pkg/kubelet/volumemanager/cache/actual_state_of_world.go index 5ecec2342d..d20ca70614 100644 --- a/pkg/kubelet/volumemanager/cache/actual_state_of_world.go +++ b/pkg/kubelet/volumemanager/cache/actual_state_of_world.go @@ -26,9 +26,7 @@ import ( "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/types" - utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/klog" - "k8s.io/kubernetes/pkg/features" "k8s.io/kubernetes/pkg/volume" "k8s.io/kubernetes/pkg/volume/util" "k8s.io/kubernetes/pkg/volume/util/operationexecutor" @@ -640,10 +638,6 @@ func (asw *actualStateOfWorld) PodExistsInVolume( if podObj.remountRequired { return true, volumeObj.devicePath, newRemountRequiredError(volumeObj.volumeName, podObj.podName) } - if podObj.fsResizeRequired && - utilfeature.DefaultFeatureGate.Enabled(features.ExpandInUsePersistentVolumes) { - return true, volumeObj.devicePath, newFsResizeRequiredError(volumeObj.volumeName, podObj.podName) - } } return podExists, volumeObj.devicePath, nil diff --git a/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go b/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go index b28cd23985..e84058c436 100644 --- a/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go +++ b/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go @@ -183,17 +183,6 @@ func (dswp *desiredStateOfWorldPopulator) isPodTerminated(pod *v1.Pod) bool { func (dswp *desiredStateOfWorldPopulator) findAndAddNewPods() { // Map unique pod name to outer volume name to MountedVolume. mountedVolumesForPod := make(map[volumetypes.UniquePodName]map[string]cache.MountedVolume) - if utilfeature.DefaultFeatureGate.Enabled(features.ExpandInUsePersistentVolumes) { - for _, mountedVolume := range dswp.actualStateOfWorld.GetMountedVolumes() { - mountedVolumes, exist := mountedVolumesForPod[mountedVolume.PodName] - if !exist { - mountedVolumes = make(map[string]cache.MountedVolume) - mountedVolumesForPod[mountedVolume.PodName] = mountedVolumes - } - mountedVolumes[mountedVolume.OuterVolumeSpecName] = mountedVolume - } - } - processedVolumesForFSResize := sets.NewString() for _, pod := range dswp.podManager.GetPods() { if dswp.isPodTerminated(pod) { @@ -290,7 +279,7 @@ func (dswp *desiredStateOfWorldPopulator) processPodVolumes( // Process volume spec for each volume defined in pod for _, podVolume := range pod.Spec.Volumes { - pvc, volumeSpec, volumeGidValue, err := + _, volumeSpec, volumeGidValue, err := dswp.createVolumeSpec(podVolume, pod.Name, pod.Namespace, mountsMap, devicesMap) if err != nil { klog.Errorf( @@ -320,11 +309,6 @@ func (dswp *desiredStateOfWorldPopulator) processPodVolumes( podVolume.Name, volumeSpec.Name(), uniquePodName) - - if utilfeature.DefaultFeatureGate.Enabled(features.ExpandInUsePersistentVolumes) { - dswp.checkVolumeFSResize(pod, podVolume, pvc, volumeSpec, - uniquePodName, mountedVolumesForPod, processedVolumesForFSResize) - } } // some of the volume additions may have failed, should not mark this pod as fully processed diff --git a/pkg/kubelet/volumemanager/reconciler/reconciler.go b/pkg/kubelet/volumemanager/reconciler/reconciler.go index e78752b940..0bba0ae7b0 100644 --- a/pkg/kubelet/volumemanager/reconciler/reconciler.go +++ b/pkg/kubelet/volumemanager/reconciler/reconciler.go @@ -254,22 +254,6 @@ func (rc *reconciler) reconcile() { klog.V(5).Infof(volumeToMount.GenerateMsgDetailed("operationExecutor.MountVolume started", remountingLogStr)) } } - } else if cache.IsFSResizeRequiredError(err) && - utilfeature.DefaultFeatureGate.Enabled(features.ExpandInUsePersistentVolumes) { - klog.V(4).Infof(volumeToMount.GenerateMsgDetailed("Starting operationExecutor.ExpandVolumeFSWithoutUnmounting", "")) - err := rc.operationExecutor.ExpandVolumeFSWithoutUnmounting( - volumeToMount.VolumeToMount, - rc.actualStateOfWorld) - if err != nil && - !nestedpendingoperations.IsAlreadyExists(err) && - !exponentialbackoff.IsExponentialBackoff(err) { - // Ignore nestedpendingoperations.IsAlreadyExists and exponentialbackoff.IsExponentialBackoff errors, they are expected. - // Log all other errors. - klog.Errorf(volumeToMount.GenerateErrorDetailed("operationExecutor.ExpandVolumeFSWithoutUnmounting failed", err).Error()) - } - if err == nil { - klog.V(4).Infof(volumeToMount.GenerateMsgDetailed("operationExecutor.ExpandVolumeFSWithoutUnmounting started", "")) - } } }