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

Storage Drivers

Storage drivers are responsible for handling all CSI operations for storage volumes. After initial configuration, storage drivers are automatically installed on all compute nodes by the storage service and run as containers. They can be installed/updated/removed via the Fuzzball UI or CLI.

When using the Admin UI to automatically configure an initial set of storage classes as detailed in the storage classes section, the appropriate storage driver is automatically configured based on the values entered in the cloud formation template.
Please select either the UI or CLI tab to see the appropriate instructions for your environment.

As detailed in the storage class section, the Fuzzball Admin UI presents an option to automatically create an initial set of storage classes based on the values entered in the cloud formation template during the installation procedure. Selecting this option will also automatically generate the necessary storage driver to back the newly created storage classes.

The Fuzzball Admin UI can be accessed at https://ui-admin.<domain>. After completing the automatic storage class workflow, you can select the storage driver tab near the top middle of the page to view configured drivers. Once you have done so, you can click the vertical ellipsis (kebab) menu on the right to see detailed information about the driver.

Admin UI showing storage driver

Admin UI showing storage driver configuration details

You can manually add a storage driver to the cluster using the blue “Add Driver” button in the upper right corner of the Admin UI dashboard pictured above and completing the fields in the resulting UI form. It may be helpful to automatically generate a storage driver first using the workflow detailed above, and use that as guide to better understand what values are needed to complete the process.

Storage drivers can be manually specified by writing YAML files and using the fuzzball admin storage driver install <driver.yaml> command. For information about creating YAML files to create storage drivers, see the storage driver definitions section.

Ensure that you have created and logged into your admin context by issuing these commands:

$ fuzzball admin context create <context_name> <api_url>

$ fuzzball admin context login -u <admin_username> -p '<admin_password>'

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)

The --help option will give detailed up-to-date information about the usage of each of these commands. For instance, fuzzball admin storage driver install --help will give you information on installing a storage class via the CLI.

For convenience, information about managing storage drivers in the CLI with the available subcommands is summarized below.

The CLI --help docs have the most up-to-date information regarding sub-commands.

Install a Storage Driver

After writing or obtaining a storage driver definition YAML file, you can install the driver for a cluster with the following:

$ fuzzball admin storage driver install <driver_definition.yaml>

The command should return a message like so:

Driver 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3 installed

Update a Storage Driver

You can update a storage driver definition for a cluster. Note that name field is immutable after the driver installation, so changing the driver name will return an error when attempting to update.

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

$ fuzzball admin storage driver update -i 8be7e85f-6e23-4f91-9d90-b848b9f6f0a3 <new_driver_definition.yaml>

Uninstall a Storage Driver

Administrators can also uninstall a storage driver for a given cluster. 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 issue the following:

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

List Installed Storage Drivers

Administrators can view the storage driver(s) installed for a cluster like so:

$ fuzzball admin storage driver list
ID                                   | NAME              | DESCRIPTION           | CREATED TIME          | LAST UPDATED
240919fb-c343-39f1-9f22-85d79fe9fc68 | efs.csi.aws.com   | Amazon EFS CSI Driver | 2023-06-27 05:52:55PM | 2023-06-28 09:02:54AM

Obtain Storage Driver Information

Administrators can view information about a storage driver within a cluster like so:

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

The output can be formatted as a JSON with the --json option.

Export Storage Driver Definition as YAML

As and admin, you can export an existing storage driver definition as a YAML file using the export subcommand:

$ fuzzball admin storage driver export d740e996-4561-34aa-9a2d-e7e55af57b5c