This charm is currently configured to build binary wheels which only
work on the series they are built for (--binary-wheels-from-source in
tox.ini or charmcraft.yaml).
This change was made alongside the charmcraft.yaml changes to always
build-on/run-on the same series in the following commit: b0acd923b725
("Build separately for each supported series and use binary builds")
However the charmcraft.yaml changes to build separately were incorrectly
reverted in: 75c1b2a978c5 ("Add Kinetic and Zed support")
This results in failed installations on Jammy-Yoga with the error:
Could not find a version that satisfies the requirement MarkupSafe==2.1.3
Switch charmcraft.yaml back to again build-on/run-on the same series.
Additional build fixes:
- Change series focal->yoga in src/tests/bundles/jammy-yoga.yaml
Closes-Bug: #1999200
Change-Id: I3a07abca124fca7f90b36f82e065a4fddc25be87
(cherry picked from commit e24fb340bf1e7f6850ead7bfd59d286795077d4d)
Make sure sysfsutils (for systool) is available up to Yoga
The systool command is necessary for the FC scenario, but Ubuntu
packages do not pull it as a dependency. It has to be installed by each
storage backend charm when:
- cinder-volume service is not co-located with nova-compute
- nova-compute charm doesn't have the `use-multipath` option enabled
even when it's co-located
Add pkg-config to charmcraft.yaml for binary builds
Depending on the build platform (e.g. s390x, ppc64el), sometimes
pkg-config is required, and sometimes it isn't. Add it to make sure it
is available depending on the availability of binary wheels for
architectures.
Closes-Bug: #2023777
Change-Id: I3cdcea3a6bcadd38680a30553649dc6ed5202dd5
(cherry picked from commit c2a17eb5c137f3431c322a6cc47a71cd5071e6e3)
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.
Added default value for allowed_direct_url_schemes
Included 'allowed_direct_url_schemes' in driver options of
cinder configuration with a default value of 'cinder'
Also, added to unit test and functional test as part of change.
- modified cinder_purestorage.py
- modified tests_cinder_purestorage.py to include a functional test
- modified test_lib_charm_openstack_cinder_purestorage.py to
extend the unit tests
* sync charm-helpers to classic charms
* change openstack-origin/source default to zed
* align testing with zed
* add new zed bundles
* add zed bundles to tests.yaml
* add zed tests to osci.yaml and .zuul.yaml
* update build-on and run-on bases
* add bindep.txt for py310
* sync tox.ini and requirements.txt for ruamel
* use charmcraft_channel 2.0/stable
* drop reactive plugin overrides
* move interface/layer env vars to charmcraft.yaml
Build separately for each supported series and use binary builds
Charms for OpenStack Yoga supports both Ubuntu Focal and Jammy
which means Python 3.8 and Python 3.10. Managing dependencies
across those two versions is non-trivial and we need to build
the charm on the series the charm is supposed to support.
Switch to using a binary build which allows pip's dependency
resolution to work.