mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
CSI: handle per-alloc volumes in alloc status -verbose CLI (#12573)
The Nomad client's `csi_hook` interpolates the alloc suffix with the volume request's name for CSI volumes with `per_alloc = true`, turning `example` into `example[1]`. We need to do this same behavior in the `alloc status` output so that we show the correct volume.
This commit is contained in:
3
.changelog/12573.txt
Normal file
3
.changelog/12573.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
```release-note:bug
|
||||
csi: Fixed a bug where per-alloc volumes used the incorrect ID when querying for `alloc status -verbose`
|
||||
```
|
||||
@@ -826,9 +826,14 @@ FOUND:
|
||||
fmt.Sprintf("%s|%v", volReq.Name, *volMount.ReadOnly))
|
||||
case structs.VolumeTypeCSI:
|
||||
if verbose {
|
||||
source := volReq.Source
|
||||
if volReq.PerAlloc {
|
||||
source = source + structs.AllocSuffix(alloc.Name)
|
||||
}
|
||||
|
||||
// there's an extra API call per volume here so we toggle it
|
||||
// off with the -verbose flag
|
||||
vol, _, err := client.CSIVolumes().Info(volReq.Source, nil)
|
||||
vol, _, err := client.CSIVolumes().Info(source, nil)
|
||||
if err != nil {
|
||||
c.Ui.Error(fmt.Sprintf("Error retrieving volume info for %q: %s",
|
||||
volReq.Name, err))
|
||||
|
||||
Reference in New Issue
Block a user