From 5ab0de4d243adfc2c3e54b31a8b28a24e84f8640 Mon Sep 17 00:00:00 2001 From: Florian Apolloner Date: Wed, 29 Sep 2021 18:57:35 +0200 Subject: [PATCH] Fixed creation of ControllerCreateVolumeRequest. `CapacityRange` should only be set if `RequiredBytes` and/or `LimitBytes` are set. --- client/structs/csi.go | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/client/structs/csi.go b/client/structs/csi.go index ca7f88d41deb..402a3ae661ae 100644 --- a/client/structs/csi.go +++ b/client/structs/csi.go @@ -229,11 +229,7 @@ type ClientCSIControllerCreateVolumeRequest struct { func (req *ClientCSIControllerCreateVolumeRequest) ToCSIRequest() (*csi.ControllerCreateVolumeRequest, error) { creq := &csi.ControllerCreateVolumeRequest{ - Name: req.Name, - CapacityRange: &csi.CapacityRange{ - RequiredBytes: req.CapacityMin, - LimitBytes: req.CapacityMax, - }, + Name: req.Name, VolumeCapabilities: []*csi.VolumeCapability{}, Parameters: req.Parameters, Secrets: req.Secrets, @@ -244,6 +240,12 @@ func (req *ClientCSIControllerCreateVolumeRequest) ToCSIRequest() (*csi.Controll // TODO: topology is not yet supported AccessibilityRequirements: &csi.TopologyRequirement{}, } + if req.CapacityMin != 0 || req.CapacityMax != 0 { + creq.CapacityRange = &csi.CapacityRange{ + RequiredBytes: req.CapacityMin, + LimitBytes: req.CapacityMax, + } + } for _, cap := range req.VolumeCapabilities { ccap, err := csi.VolumeCapabilityFromStructs(cap.AttachmentMode, cap.AccessMode, req.MountOptions) if err != nil {