Update tox.ini and re-generate requirements
tox.ini needs to have env for specific Python versions as this is needed by the CI Zuul jobs, e.g., py310, py312 etc. Since we are using the same CI cleanup procedure as with other charms, this may also modify requirements files, so we re-generate them to be sure they are in sync. Also adds HOME to tox passenv as it is needed for zaza/functests.
Change-Id: Iadc50350e6cefaf2b9d9b77c68d0e8e70b2960e3 Signed-off-by: Munir Siddiqui munir.siddiqui@canonical.com
Overview
The cinder charm deploys Cinder, the Block Storage (volume) service for OpenStack. The charm works alongside other Juju-deployed OpenStack services.
Usage
Configuration
To display all configuration option information run
juju config <application>. If the application is not deployed then see the charm’s Configure tab in the Charmhub. Finally, the Juju documentation provides general guidance on configuring applications.Deployment
The cinder application requires the following applications to be present: keystone, nova-cloud-controller, nova-compute, rabbitmq-server, and a cloud database.
The database application is determined by the series. Prior to focal percona-cluster is used, otherwise it is mysql-innodb-cluster. In the example deployment below mysql-innodb-cluster has been chosen.
Deploy Cinder itself (here, to a container on machine ‘1’), add relations to the core cloud applications, and then connect it to the cloud database:
Multiple backend storage solutions are described next.
Ceph-backed storage
Cinder can be backed by Ceph, which is the recommended storage method for production Cinder deployments. This functionality is provided by the [cinder-ceph][cinder-ceph-charm] subordinate charm.
LVM-backed storage
Cinder can be backed by storage local to the cinder unit, where local block devices are used as LVM physical volumes, and volumes are offered via iSCSI. This functionality is provided by the cinder-lvm subordinate charm.
NetApp-backed storage
Cinder can be backed by a NetApp appliance local to the cinder unit, where volumes are offered via iSCSI or NFS. This functionality is provided by the cinder-netapp subordinate charm.
Pure Storage-backed storage
Cinder can be backed by a Pure Storage appliance reachable by its API endpoint. This functionality is provided by the cinder-purestorage subordinate charm.
Storage Backend Secrets
Subordinate storage backends (e.g. cinder-ceph, cinder-netapp etc.) may send configuration values that contain sensitive credentials. Rather than writing these values directly in cinder.conf in plain text, the Cinder charm can resolve them at runtime via Castellan using Vault as a backend.
When a subordinate storage charm sends a Vault secret ref (
vault://<secret-name>) as a config value, the cinder charm automatically configures Castellan, adds the secret reference to /etc/cinder/secret_map.conf and generates /etc/cinder/castellan.conf using the Vault backend.The Cinder charm must be related to Vault over the secrets-storage interface and the secret should be created in the KV mountpoint created by the secrets-storage relation (e.g. charm-cinder/*).
Example (cinder-netapp):