Tox 4.0.0 was recently released and it has several breaking changes.
We pin to < 4.0.0 here. We are planning to move forward only on the
master charm branches.
Tox is also pinned to < 4.0.0 for stable branches in upstream
openstack-zuul-jobs as well as in zosci-config. However, the
requires= section in the charm's tox.ini file ends up installing
tox>4, wiping out the zuul-pinned tox<4 that was already installed
installed. This patch fixes that.
The build.lock branch points to master which means that the layer is not
locked. Lock the layers to the commit hash instead; this ensures
reproducible builds as much as possible.
This is the main patch for the migration of the stable/21.10
charm to charmhub for the stable/train branch (train track on
charmhub). This patch initially supports bionic from queens
to train, and does not support ussuri. It supports upgrades
from bionic-queens to bionic-train (with each intermediate
step needed). Crucially it does NOT set a default
openstack-origin, which means installing train/stable
without specifying the openstack-origin will result in a
bionic-queens installation. This is intentional as the branch
covers queens to train.
* use stable/21.10 libraries
* use zaza/zaza-openstack-tests at stable/21.10
* build.lock files for reactive charms
* bundles refer to ~openstack-charms candidate channel
Mark the LVM backend as stateful rather than stateless
The cinder-lvm charm was registering the backend configuration with the
principal charm as stateless when it is indeed stateful. Change
I249ce179cfdaf2394ee4e8481a8c9644d667ea99 introduced the cluster
configuration for the cinder service which causes backend drivers which
are not properly marked as stateful to fail. Correct the stateless value
in the charm to indicate this.
Add the 'volume-group' and 'backend-name' config parameters
In order to ease transition into cinder-lvm, we need these 2 parameters
so that the new charm can be configured with the exact same names as
what cinder was using, avoiding any potential data loss and without
the need for workarounds such as playing with the 'alias' or 'overwrite'
configuration options.
This patchset does the following things:
- Implements the unit tests.
- Standardizes the charm, adding the needed files and moving
pre-existing ones into the correct directories.
- Implements the bundles for functional tests.
- Documents the charm's functionality.
- Updates the requirements for tests and other targets.