Skip to Content

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 will cover 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 update Update a volume Flags: -h, --help help for volume Global Flags: -c, --color string Set the color output for fuzzball ($FUZZBALL_COLOR) (default "auto") --disable-auth Disables auth ($FUZZBALL_DISABLE_AUTH) --disable-tls Disables tls ($FUZZBALL_DISABLE_TLS) --insecure Enable insecure connections ($FUZZBALL_INSECURE) -j, --json Output in json ($FUZZBALL_JSON) Use "fuzzball volume [command] --help" for more information about a command.
Note

Ephemeral storage Volumes are not manageable via CLI/web UI. Only persistent storage volumes can be managed this way.

Create a storage volume

Once you have a definition, you can create a storage volume with the following syntax:

# cat > data_vol.yaml <<__EOF__ version: v1 name: mydata displayName: mydata description: My data directory storageClassName: data __EOF__ # fuzzball volume create data_vol.yaml Volume "890816c4-1854-3fa1-ba20-c83e1aa15c4c" created
Note

You need to be logged into a user context and select a group you own to create a storage volume.

Given the storage class and driver we set up in this example, files stored in this volume will be physically located in /srv/fuzzball/storage_data/<username> on the NFS server.

Obtain information about storage volumes

To get a list of storage volumes that currently exist, use the following command:

# fuzzball volume list ID | REFERENCE | DISPLAYNAME | DESCRIPTION | CREATETIME | ACCESSTIME | STATUS | CLUSTER 890816c4-1854-3fa1-ba20-c83e1aa15c4c | volume://user/data | mydata | My data directory | 2025-04-15 01:13:46PM | 2025-04-15 01:13:46PM | Enabled | unset-cluster

For more detailed machine readable information use the info command with the --json flag like so:

# fb volume info --json 890816c4-1854-3fa1-ba20-c83e1aa15c4c { "id": "890816c4-1854-3fa1-ba20-c83e1aa15c4c", "reference": "volume://user/data", "name": "bob", "display_name": "mydata", "description": "My data directory", "create_time": { "seconds": 1744722826, "nanos": 50474000 }, "access_time": { "seconds": 1744722826, "nanos": 50474000 }, "status": 1, "cluster_id": "36ad0001-35f7-c17d-2f75-e910a16292cf" }

Update a storage volume

It's easy to update a storage volume if you need to change something about the definition. For example, here is how you could change the description of the volume:

# sed 's/My data directory/My permanent data directory/' data_vol.yaml > data_vol2.yaml # fuzzball volume update 890816c4-1854-3fa1-ba20-c83e1aa15c4c data_vol2.yaml Volume "890816c4-1854-3fa1-ba20-c83e1aa15c4c" updated # fuzzball volume list ID | REFERENCE | DISPLAYNAME | DESCRIPTION | CREATETIME | ACCESSTIME | STATUS | CLUSTER 890816c4-1854-3fa1-ba20-c83e1aa15c4c | volume://user/data | mydata | My permanent data directory | 2025-04-15 01:13:46PM | 2025-04-15 01:24:02PM | Enabled | unset-cluster

Disable and delete a storage volume

You can disable a storage volume to prevent it from being used within a workflow using the disable subcommand as in the following example:

# fuzzball volume disable 890816c4-1854-3fa1-ba20-c83e1aa15c4c Volume 890816c4-1854-3fa1-ba20-c83e1aa15c4c marked as disabled

This is required before deleting a volume. Once a volume has been disabled it can either be re-enabled with this command:

# fuzzball volume enable 890816c4-1854-3fa1-ba20-c83e1aa15c4c Volume 890816c4-1854-3fa1-ba20-c83e1aa15c4c marked as enabled

or it can be deleted like so:

# fuzzball volume delete 890816c4-1854-3fa1-ba20-c83e1aa15c4c Volume 890816c4-1854-3fa1-ba20-c83e1aa15c4c marked for deletion

If the storage volume had not been disabled prior to its deletion, the command returns the error:

volume must be disabled before deletion

Or if any workflow are using the volume, the command returns the error:

one or more workflows are using this volume