Fuzzball Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

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.