mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
Fixed creation of ControllerCreateVolumeRequest. (#11238)
This commit is contained in:
committed by
GitHub
parent
6cb36971c6
commit
5624603893
3
.changelog/11238.txt
Normal file
3
.changelog/11238.txt
Normal file
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user