Storage Volume Management
This section covers explicit management of storage volumes. The section on storage volumes and workflows covers automatic creation of storage volumes by workflows.
Administrators and users can manage storage volumes from the
CLI or the
web UI. This section
covers CLI usage. The root command is fuzzball volume with the following sub commands:
Usage:
fuzzball volume [command]
Aliases:
volume, vol
Available Commands:
create Create a volume
delete Delete a volume
disable Disable a volume
enable Enable a volume
info Get volume information
list List volumes
provisioner Manage storage provisioners
update Update a volume
Flags:
-h, --help help for volume
Ephemeral volumes are not manageable via CLI or web UI. Only persistent volumes can be managed this way.
Create a storage volume
Create a volume by specifying the provisioner name and volume name:
$ fuzzball volume create shared-nfs project-data
Volume "project-data" created on provisioner "shared-nfs"
Optional flags:
# fuzzball volume create shared-nfs project-data --description "Shared research data" --size 50GB
Volume "project-data" created on provisioner "shared-nfs"
You must be logged into a user context and have a group selected. Your group must have
create access on the specified provisioner.
List storage volumes
List volumes accessible to your current group:
$ fuzzball volume list
Filter by provisioner:
$ fuzzball volume list --provisioner shared-nfs
Get volume information
View detailed information about a volume:
$ fuzzball volume info shared-nfs project-data
Use --json for machine-readable output:
$ fuzzball volume info shared-nfs project-data --json
Update a storage volume
Update a volume's metadata (description, display name, size):
$ fuzzball volume update shared-nfs project-data --description "Updated project datasets"
Volume "project-data" updated on provisioner "shared-nfs"
Disable and delete a storage volume
Disable a volume to prevent it from being used in workflows:
$ fuzzball volume disable shared-nfs project-data
Volume "project-data" on provisioner "shared-nfs" marked as disabled
A volume must be disabled before it can be deleted. Re-enable a disabled volume with:
$ fuzzball volume enable shared-nfs project-data
Volume "project-data" on provisioner "shared-nfs" marked as enabled
Delete a disabled volume:
$ fuzzball volume delete shared-nfs project-data
Volume "project-data" deleted from provisioner "shared-nfs"
If the volume has not been disabled first:
volume must be disabled before deletion
If workflows are currently using the volume:
one or more workflows are using this volume
Deleting a volume removes the Fuzzball record. Whether the underlying data on the storage
backend is also removed depends on the storage driver. You can use
fuzzball volume provisioner scan to re-discover volumes that still exist on the backend.
Note that scan also identifies and removes records for stale volumes whose backing data
is no longer found — see
Scanning for volumes
for details.