From c9fc26d85ef755f7b9c15f039e469857d75f5aec Mon Sep 17 00:00:00 2001 From: Jan Safranek Date: Mon, 21 Oct 2019 09:20:37 +0200 Subject: [PATCH] Fix volumeMode retrieval when BlockVolume feature is off API served does not need to default volumeMode to Filesystem. --- .../populator/desired_state_of_world_populator.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) 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 56f326cc19d..ac83f3c0168 100644 --- a/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go +++ b/pkg/kubelet/volumemanager/populator/desired_state_of_world_populator.go @@ -505,11 +505,14 @@ func (dswp *desiredStateOfWorldPopulator) createVolumeSpec( pvcSource.ClaimName, pvcUID) - // TODO: remove features.BlockVolume checks / comments after no longer needed - volumeMode, err := util.GetVolumeMode(volumeSpec) - if err != nil { - return nil, nil, "", err + // TODO: replace this with util.GetVolumeMode() when features.BlockVolume is removed. + // The function will return the right value then. + volumeMode := v1.PersistentVolumeFilesystem + if volumeSpec.PersistentVolume != nil && volumeSpec.PersistentVolume.Spec.VolumeMode != nil { + volumeMode = *volumeSpec.PersistentVolume.Spec.VolumeMode } + + // TODO: remove features.BlockVolume checks / comments after no longer needed // Error if a container has volumeMounts but the volumeMode of PVC isn't Filesystem. // Do not check feature gate here to make sure even when the feature is disabled in kubelet, // because controller-manager / API server can already contain block PVs / PVCs.