Send a nicer event when resizing attached Cinder volume

Cinder volumes cannot be resized when they're attached. Send a nicer event
when it happens:
error expanding volume "default/pvc1" of plugin "kubernetes.io/cinder": PVC used by a Pod can not be expanded, please ensure the PVC is not used by any Pod and is fully detached from a node
This commit is contained in:
Jan Safranek 2020-05-06 11:11:48 +02:00
parent 4ccfeb18d9
commit fadc670c95

View File

@ -419,7 +419,12 @@ func (os *OpenStack) ExpandVolume(volumeID string, oldSize resource.Quantity, ne
}
if volume.Status != volumeAvailableStatus {
// cinder volume can not be expanded if its status is not available
return oldSize, fmt.Errorf("volume in %s status can not be expanded, it must be available and not attached to a node", volume.Status)
if volume.Status == volumeInUseStatus {
// Send a nice event when the volume is used
return oldSize, fmt.Errorf("PVC used by a Pod can not be expanded, please ensure the PVC is not used by any Pod and is fully detached from a node")
}
// Send not so nice event when the volume is in any other state (deleted, error)
return oldSize, fmt.Errorf("volume in state %q can not be expanded, it must be \"available\"", volume.Status)
}
// Cinder works with gigabytes, convert to GiB with rounding up