manila generic #95

Supports: xenial bionic focal groovy hirsute impish


The Manila share file system service provides a set of services for management of shared file systems in a multi-tenant cloud environment. The service resembles OpenStack block-based storage management from the OpenStack Block Storage service project. With the Shared File Systems service, you can create a remote file system, mount the file system on your instances, and then read and write data from your instances to and from your file system.

The manila-generic plugin (using the manila-plugin relation) provides the configuration information to the manila charm to configure the Manila instance such that it can use the generic driver appropriately.


This charm exists to provide an example backend for Manila, for the purpose of test and reference. It is NOT intended for production use in any case.

It configures the generic backend in the related manila charm in an OpenStack cloud. This provides NFS shares using Cinder as a backing store. It should be used for testing and development purposes only.


The charm relies on the principal manila charm, and is a subordinate to it. It provides configuration data to the manila-share service (which is provided by the manila charm with a role that includes 'share').

If multiple, different, generic backend configurations are required then the share-backend-name config option should be used to differentiate between the configuration sections.

Note: this subordinate charm requests that manila configure the nova, neutron and cinder sections that the generic driver needs to launch NFS share instances that provide NFS/CIFS services within their tenant networks. The manila charm provides the main manila service username/password to this charm to enable it to provide those configuration sections.


Please report bugs on Launchpad.

For general questions please refer to the OpenStack Charm Guide.


(boolean) Enable debug logging
(string) One of 'password', 'ssh', 'both'. This determines how manila authenticates against the service-instance; e.g. using password, ssh keypair or both.
(boolean) Whether to connect the share server into the tenant network.
(boolean) Whether to generic driver should run up a share server.
(string) This is the keypair name that will be provided to nova instances. Note that manila uploads the keypair from the config settings 'generic-driver-ssh-private-key' and 'generic-driver-ssh-public-key'. If neither the ssh config vars are set nor the password then the charm will block until they are set.
(string) the image name to use for the generic instance
(int) The ID for the flavor to launch images in. The driver blocks if this is not set.
(string) If the service user doesn't log in with a key-pair a password is needed to allow manila to ssh into the service instance. If the password is set then it is used and an SSH key is not configured.
(string) The user to log into the share instance.
(string) The key for the manila to inject into the instance. If set, manila will inject it into OpenStack if the keypair name doesn't exist.
(string) The public key for the manila to inject into the instance. If set, manila will inject it into OpenStack if the keypair name doesn't exist.
(string) Repository from which to install. May be one of the following: distro (default), ppa:somecustom/ppa, a deb url sources entry, or a supported Cloud Archive release pocket. Supported Cloud Archive sources include: cloud:precise-folsom, cloud:precise-folsom/updates, cloud:precise-folsom/staging, cloud:precise-folsom/proposed. Note that updating this setting to a source that is known to provide a later version of OpenStack will trigger a software upgrade.
(string) The name given to the backend. This is used to generate the backend configuration section and link it into the share server. If two different configurations of the same backend type are needed, then this config option can be used to separate them in the backend configuration.
(string) The share protocols that the backends will be able to provide. The default is good for the generic backends. Other backends may not support both NFS and CIFS. This is a space delimited list of protocols.
(boolean) Enable verbose logging