Skip to Content

Storage Driver Management

Warning

V3 Only — In Fuzzball V4, storage drivers are built into the platform and do not require external CSI-based driver containers. This page documents the V3 external driver system and is retained as reference only. These instructions will not work on Fuzzball V4.

For V4 storage configuration, see Storage Provisioners.

If upgrading from V3 to V4, see the V3 to V4 Storage Migration Guide.

An administrator may either manage storage drivers from CLI or web UI. This document will cover CLI usage. You can manage storage drivers with the fuzzball CLI binary. The root command is fuzzball admin storage driver with the following sub commands:

Usage: fuzzball admin storage driver [command] Aliases: driver, dr Available Commands: export Export driver definition as YAML info Get information about a storage driver install Install a storage driver list List storage drivers uninstall Uninstall a storage driver update Update a storage driver definition Flags: -h, --help help for driver 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)

Install a storage driver

As a concrete example for storage driver management let's set up a minimal NFS driver that will allow fuzzball to provision storage volumes from NFS servers for jobs running in containers. Volumes are backed by subdirectories on the NFS server. Here is a minimal driver definition for an NFS driver.

$ cat <<'__EOF__' > nfs_storage_definition.yaml version: v1 name: nfs.csi.k8s.io description: NFS CSI Driver image: uri: docker://registry.k8s.io/sig-storage/nfsplugin:v4.2.0 args: - --nodeid=${CSI_NODE_ID} - --endpoint=${CSI_ENDPOINT} - -v=10 __EOF__

Please note that the single quotes around '__EOF__' are necessary. The yaml file is intended to include the literal strings ${CSI_NODE_ID} and ${CSI_ENDPOINT} rather than the current (non-existent) values of these variables.

We can install this driver for our organization with:

$ fuzzball admin storage driver install nfs_storage_definition.yaml

The command should return a message like:

Driver "9c35fed2-26a1-3313-97f6-f25dc2366dd9" installed

Obtain information about installed storage drivers

Administrators can view the storage driver installed for an organization like so:

$ fuzzball admin storage driver list ID | NAME | DESCRIPTION | CREATED TIME | LAST UPDATED | CLUSTER 9c35fed2-26a1-3313-97f6-f25dc2366dd9 | nfs.csi.k8s.io | NFS CSI Driver | 2025-04-14 07:31:04PM | 2025-04-14 07:31:04PM | unset-cluster

To obtain more detailed information in a machine-parsable format use the --json flag like so:

$ fuzzball admin storage driver info --json 9c35fed2-26a1-3313-97f6-f25dc2366dd9 { "id": "9c35fed2-26a1-3313-97f6-f25dc2366dd9", "create_time": { "seconds": 1744659064, "nanos": 687581000 }, "update_time": { "seconds": 1744659064, "nanos": 687582000 }, "driver": { "version": "v1", "name": "nfs.csi.k8s.io", "description": "NFS CSI Driver", "image": { "uri": "docker://registry.k8s.io/sig-storage/nfsplugin:v4.2.0" }, "args": [ "--nodeid=${CSI_NODE_ID}", "--endpoint=${CSI_ENDPOINT}", "-v=10" ] }, "driver_error": {}, "cluster_id": "36ad0001-35f7-c17d-2f75-e910a16292cf" }

Update a storage driver

You can update a storage driver definition for an organization. Note that name field is immutable after the driver install, so changing the driver name will return an error when updating.

To update a driver according to a new specification file issue the following command.

$ fuzzball admin storage driver update -i 9c35fed2-26a1-3313-97f6-f25dc2366dd9 nfs_storage_definition_new.yaml

Uninstall a storage driver

Administrators can also uninstall a storage driver for an organization. If there are existing storage volumes that depend on the driver, the uninstall command will return an error reporting that there are storage volumes that depend upon it.

To uninstall a driver you would use the uninstall subcommand like so:

$ fuzzball admin storage driver uninstall 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3

We will continue to use the NFS driver when we set up storage classes later so if you delete your driver for testing you will have to re-install an NFS driver to follow the examples in the next sections.