rbd: NodeExpandVolume() should use StagingTargetPath

Form kubernetes v1.19 onwards NodeRequest is getting volume path
in StagingTargetPath instead of VolumePath, cephcsi should also
use the same.

Signed-off-by: Mudit Agarwal <muagarwa@redhat.com>
(cherry picked from commit 4de1abad5e)
This commit is contained in:
Mudit Agarwal 2020-08-24 18:15:18 +05:30 committed by mergify[bot]
parent 1792cff878
commit 6105a4f428

View File

@ -701,7 +701,16 @@ func (ns *NodeServer) NodeExpandVolume(ctx context.Context, req *csi.NodeExpandV
if volumeID == "" { if volumeID == "" {
return nil, status.Error(codes.InvalidArgument, "volume ID must be provided") return nil, status.Error(codes.InvalidArgument, "volume ID must be provided")
} }
volumePath := req.GetVolumePath()
// Get volume path
// With Kubernetes version>=v1.19.0, expand request carries volume_path and
// staging_target_path, what csi requires is staging_target_path.
volumePath := req.GetStagingTargetPath()
if volumePath == "" {
// If Kubernetes version < v1.19.0 the volume_path would be
// having the staging_target_path information
volumePath = req.GetVolumePath()
}
if volumePath == "" { if volumePath == "" {
return nil, status.Error(codes.InvalidArgument, "volume path must be provided") return nil, status.Error(codes.InvalidArgument, "volume path must be provided")
} }