Fixed creation of ControllerCreateVolumeRequest. (#11238)
This commit is contained in:
parent
0fa60dae9d
commit
709c1a2947
|
@ -0,0 +1,3 @@
|
|||
```release-note:bug
|
||||
csi: Fixed a bug where the client would incorrectly set an empty capacity range for CSI volume creation requests.
|
||||
```
|
|
@ -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,17 @@ func (req *ClientCSIControllerCreateVolumeRequest) ToCSIRequest() (*csi.Controll
|
|||
// TODO: topology is not yet supported
|
||||
AccessibilityRequirements: &csi.TopologyRequirement{},
|
||||
}
|
||||
|
||||
// The CSI spec requires that at least one of the fields in CapacityRange
|
||||
// must be defined. Fields set to 0 are considered unspecified and the
|
||||
// CreateVolumeRequest should not send an invalid value.
|
||||
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 {
|
||||
|
|
Loading…
Reference in New Issue