Cleanup Master CI

* update:
  - charmcraft.yaml for v3
  - tox.ini to use py3.12 by default
  - test-requirements.in to use zaza for juju3
  - update test bundles to work with charmcraft v3
* generate:
  - merged-requirements-py312.txt
  - test-requirements-py312.txt
* add:
   - update-requirements env to tox.ini

Change-Id: I2cac768978e4cbb817d9e2c840efb46d5e56c973
Signed-off-by: Munir Siddiqui <munir.siddiqui@canonical.com>
This commit is contained in:
Munir Siddiqui committed 2026-06-01 11:46:28 +05:00
1 parent 7c319e62d4
commit c899df6e43
8 files changed
+1537 -70

No files matched your search

+20 -13
View File
@@ -4,18 +4,25 @@ parts:
charm:
plugin: dump
source: .
prime:
- actions/*
- charmhelpers/*
- files/*
- hooks/*
- lib/*
- templates/*
- actions.yaml
- config.yaml
- copyright
- hardening.yaml
- icon.svg
- LICENSE
- Makefile
- metadata.yaml
- README.md
base: ubuntu@24.04
platforms:
amd64:
build-on: amd64
build-for: amd64
arm64:
build-on: arm64
build-for: arm64
ppc64el:
build-on: ppc64el
build-for: ppc64el
s390x:
build-on: s390x
build-for: s390x
ubuntu@24.04:amd64:
ubuntu@24.04:arm64:
ubuntu@24.04:ppc64el:
ubuntu@24.04:s390x:
+755
View File
@@ -0,0 +1,755 @@
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --output-file=merged-requirements-py312.txt --unsafe-package=juju --unsafe-package=kubernetes requirements.in test-requirements.in
#
aiohappyeyeballs==2.6.2
# via aiohttp
aiohttp==3.13.5
# via
# python-libmaas
# zaza
aiosignal==1.4.0
# via aiohttp
aodhclient==3.11.0
# via zaza-openstack
argcomplete==3.6.3
# via python-libmaas
async-generator==1.10
# via
# zaza
# zaza-openstack
attrs==26.1.0
# via
# aiohttp
# jsonschema
autopage==0.6.0
# via cliff
babel==2.18.0
# via
# python-heatclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
backports-datetime-fromisoformat==2.0.3
# via juju
bcrypt==5.0.0
# via paramiko
blessings==1.7
# via charm-tools
boto3==1.43.18
# via zaza-openstack
botocore==1.43.18
# via
# boto3
# s3transfer
certifi==2026.5.20
# via
# kubernetes
# requests
cffi==2.0.0
# via
# cryptography
# pynacl
charm-tools @ git+https://github.com/juju/charm-tools.git
# via -r test-requirements.in
charset-normalizer==3.4.7
# via requests
cheetah3==3.2.6.post1
# via charm-tools
cliff==4.14.0
# via
# aodhclient
# gnocchiclient
# osc-lib
# python-barbicanclient
# python-cloudkittyclient
# python-designateclient
# python-heatclient
# python-ironicclient
# python-neutronclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
# stestr
cmd2==3.5.1
# via cliff
colander==1.8.3
# via charm-tools
colorclass==2.2.2
# via python-libmaas
coverage==7.14.1
# via -r test-requirements.in
croniter==6.2.2
# via -r test-requirements.in
cryptography==3.3.2
# via
# -r requirements.in
# openstacksdk
# paramiko
# pyopenssl
# python-magnumclient
# secretstorage
# trustme
# zaza
# zaza-openstack
debtcollector==3.1.0
# via
# gnocchiclient
# oslo-concurrency
# oslo-config
# oslo-log
# oslo-utils
# python-designateclient
# python-keystoneclient
# python-manilaclient
# python-neutronclient
decorator==5.3.1
# via
# dogpile-cache
# jsonpath-rw
# openstacksdk
# python-magnumclient
dict2colander==0.2
# via charm-tools
distlib==0.4.0
# via virtualenv
dnspython==2.8.0
# via
# -r requirements.in
# pymongo
# zaza-openstack
dogpile-cache==1.5.0
# via
# openstacksdk
# python-ironicclient
fasteners==0.20
# via oslo-concurrency
filelock==3.29.0
# via virtualenv
fixtures==4.3.2
# via stestr
flake8==7.1.1
# via -r test-requirements.in
frozenlist==1.8.0
# via
# aiohttp
# aiosignal
futurist==1.10.0
# via
# gnocchiclient
# zaza-openstack
gnocchiclient==7.2.0
# via zaza-openstack
google-auth==2.47.0
# via kubernetes
hvac==0.6.4
# via
# juju
# zaza
# zaza-openstack
idna==3.17
# via
# requests
# trustme
# yarl
invoke==3.0.3
# via paramiko
iso8601==2.1.0
# via
# colander
# gnocchiclient
# keystoneauth1
# openstacksdk
# oslo-utils
# python-ceilometerclient
# python-heatclient
# python-neutronclient
# python-novaclient
# python-subunit
jaraco-classes==3.4.0
# via keyring
jeepney==0.9.0
# via
# keyring
# secretstorage
jinja2==3.1.6
# via
# -r requirements.in
# zaza
# zaza-openstack
jmespath==1.1.0
# via
# boto3
# botocore
# openstacksdk
jsonpatch==1.33
# via
# openstacksdk
# warlock
jsonpath-rw==1.4.0
# via jsonpath-rw-ext
jsonpath-rw-ext==1.2.2
# via python-cloudkittyclient
jsonpointer==3.1.1
# via jsonpatch
jsonschema==4.17.3
# via
# charm-tools
# python-designateclient
# python-ironicclient
# warlock
juju-wait==2.8.4
# via zaza
jujubundlelib==0.5.7
# via charm-tools
keyring==23.13.1
# via charm-tools
keystoneauth1==5.14.0
# via
# aodhclient
# gnocchiclient
# openstacksdk
# osc-lib
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
looseversion==1.3.0
# via -r requirements.in
lxml==6.1.1
# via zaza-openstack
macaroonbakery==1.3.4
# via
# juju
# python-libmaas
# zaza
markdown-it-py==4.2.0
# via rich
markupsafe==3.0.3
# via jinja2
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
more-itertools==11.1.0
# via jaraco-classes
msgpack==1.1.2
# via oslo-serialization
multidict==6.7.1
# via
# aiohttp
# yarl
mypy-extensions==1.1.0
# via typing-inspect
netaddr==0.7.20
# via
# -r requirements.in
# oslo-config
# oslo-utils
# osprofiler
# python-neutronclient
netifaces==0.11.0
# via
# -r requirements.in
# openstacksdk
# oslo-utils
# python-octaviaclient
oauthlib==3.3.1
# via
# kubernetes
# python-libmaas
# requests-oauthlib
openstacksdk==4.1.0
# via
# os-client-config
# osc-lib
# python-cloudkittyclient
# python-ironicclient
# python-magnumclient
# python-openstackclient
os-client-config==2.3.0
# via python-neutronclient
os-service-types==1.8.2
# via
# keystoneauth1
# openstacksdk
osc-lib==3.2.0
# via
# aodhclient
# python-cloudkittyclient
# python-designateclient
# python-heatclient
# python-ironicclient
# python-magnumclient
# python-neutronclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
# zaza-openstack
oslo-concurrency==7.5.0
# via osprofiler
oslo-config==6.11.3
# via
# oslo-concurrency
# oslo-log
# osprofiler
# python-keystoneclient
# python-manilaclient
# zaza
# zaza-openstack
oslo-context==6.4.0
# via oslo-log
oslo-i18n==6.8.0
# via
# aodhclient
# osc-lib
# oslo-concurrency
# oslo-config
# oslo-log
# oslo-utils
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-glanceclient
# python-heatclient
# python-keystoneclient
# python-magnumclient
# python-neutronclient
# python-novaclient
# python-openstackclient
# python-watcherclient
oslo-log==8.2.0
# via
# python-cloudkittyclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
oslo-serialization==5.10.0
# via
# aodhclient
# oslo-log
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-designateclient
# python-heatclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-watcherclient
oslo-utils==7.1.0
# via
# aodhclient
# osc-lib
# oslo-concurrency
# oslo-log
# oslo-serialization
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
osprofiler==4.4.0
# via aodhclient
otherstuf==1.1.0
# via charm-tools
packaging==26.2
# via
# juju
# oslo-utils
paramiko==5.0.0
# via juju
parse==1.22.1
# via stuf
path==16.16.0
# via charm-tools
pathspec==0.10.3
# via charm-tools
pbr==5.6.0
# via
# -r requirements.in
# aodhclient
# futurist
# jsonpath-rw-ext
# keystoneauth1
# openstacksdk
# os-client-config
# os-service-types
# osc-lib
# oslo-concurrency
# oslo-context
# oslo-i18n
# oslo-log
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
pika==1.4.1
# via zaza-openstack
pip==26.1.2
# via charm-tools
platformdirs==4.10.0
# via
# openstacksdk
# python-ironicclient
# virtualenv
ply==3.11
# via jsonpath-rw
prettytable==0.7.2
# via
# cliff
# futurist
# osprofiler
# python-ceilometerclient
# python-cinderclient
# python-glanceclient
# python-heatclient
# python-magnumclient
# python-manilaclient
# python-novaclient
propcache==0.5.2
# via
# aiohttp
# yarl
protobuf==7.35.0
# via macaroonbakery
psutil==1.2.1
# via
# -r requirements.in
# -r test-requirements.in
pyasn1==0.6.3
# via
# juju
# pyasn1-modules
# rsa
pyasn1-modules==0.4.2
# via google-auth
pycodestyle==2.12.1
# via flake8
pycparser==3.0
# via cffi
pyflakes==3.2.0
# via flake8
pygments==2.20.0
# via rich
pymacaroons==0.13.0
# via macaroonbakery
pymongo==4.17.0
# via python-libmaas
pynacl==1.6.2
# via
# macaroonbakery
# paramiko
# pymacaroons
pyopenssl==21.0.0
# via
# python-glanceclient
# zaza-openstack
pyparsing==2.4.7
# via
# -r test-requirements.in
# aodhclient
# oslo-utils
pyperclip==1.11.0
# via cmd2
pyrfc3339==1.1
# via macaroonbakery
pyrsistent==0.20.0
# via jsonschema
python-barbicanclient==4.10.0
# via zaza-openstack
python-ceilometerclient==2.9.0
# via zaza-openstack
python-cinderclient==9.9.0
# via
# python-openstackclient
# zaza-openstack
python-cloudkittyclient==6.1.0
# via zaza-openstack
python-dateutil==2.9.0.post0
# via
# botocore
# croniter
# gnocchiclient
# kubernetes
# oslo-log
python-designateclient==2.12.0
# via zaza-openstack
python-glanceclient==4.12.0
# via
# python-openstackclient
# zaza-openstack
python-heatclient==1.18.1
# via zaza-openstack
python-ironicclient==5.8.1
# via zaza-openstack
python-keystoneclient==3.21.0
# via
# python-manilaclient
# python-neutronclient
# python-openstackclient
# zaza-openstack
python-libmaas==0.6.8
# via zaza
python-magnumclient==4.10.0
# via zaza-openstack
python-manilaclient==1.29.0
# via zaza-openstack
python-neutronclient==6.14.1
# via
# python-octaviaclient
# zaza-openstack
python-novaclient==15.1.1
# via
# python-openstackclient
# zaza-openstack
python-octaviaclient==1.10.1
# via zaza-openstack
python-openstackclient==4.0.2
# via python-octaviaclient
python-subunit==1.4.6
# via stestr
python-swiftclient==3.8.1
# via
# python-heatclient
# zaza-openstack
python-watcherclient==4.10.0
# via zaza-openstack
pytz==2026.2
# via
# pyrfc3339
# python-libmaas
pyudev==0.24.4
# via -r test-requirements.in
pyyaml==6.0.3
# via
# charm-tools
# cliff
# juju
# juju-wait
# jujubundlelib
# kubernetes
# openstacksdk
# oslo-config
# oslo-utils
# python-cloudkittyclient
# python-heatclient
# python-ironicclient
# python-libmaas
# python-subunit
# python-watcherclient
# stestr
# zaza
# zaza-openstack
requests==2.34.2
# via
# -r test-requirements.in
# charm-tools
# hvac
# keystoneauth1
# kubernetes
# macaroonbakery
# osc-lib
# oslo-config
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-octaviaclient
# python-swiftclient
# requests-oauthlib
requests-oauthlib==2.0.0
# via kubernetes
requestsexceptions==1.4.0
# via openstacksdk
requirements-parser==0.5.0
# via charm-tools
rfc3986==2.0.0
# via oslo-config
rich==15.0.0
# via
# cmd2
# rich-argparse
rich-argparse==1.8.0
# via cmd2
rsa==4.9.1
# via google-auth
ruamel-yaml==0.17.40
# via charm-tools
ruamel-yaml-clib==0.2.15
# via ruamel-yaml
s3transfer==0.18.0
# via boto3
secretstorage==3.3.3
# via
# charm-tools
# keyring
setuptools==81.0.0
# via
# -r test-requirements.in
# charm-tools
# colander
simplejson==4.1.1
# via
# -r requirements.in
# python-manilaclient
# python-neutronclient
# python-novaclient
six==1.17.0
# via
# -r requirements.in
# blessings
# cryptography
# futurist
# jsonpath-rw
# kubernetes
# macaroonbakery
# oslo-config
# pymacaroons
# pyopenssl
# python-barbicanclient
# python-ceilometerclient
# python-dateutil
# python-designateclient
# python-heatclient
# python-keystoneclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-swiftclient
stestr==4.2.1
# via -r test-requirements.in
stevedore==5.8.0
# via
# cliff
# dogpile-cache
# keystoneauth1
# osc-lib
# oslo-config
# python-ceilometerclient
# python-cinderclient
# python-designateclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
stuf==0.9.16
# via otherstuf
tenacity==9.1.4
# via
# zaza
# zaza-openstack
terminaltables==3.1.10
# via python-libmaas
testtools==2.9.1
# via
# python-subunit
# stestr
tomlkit==0.15.0
# via stestr
toposort==1.10
# via juju
translationstring==1.4
# via colander
trustme==1.2.1
# via zaza-openstack
types-setuptools==82.0.0.20260518
# via requirements-parser
typing-extensions==4.15.0
# via
# aiosignal
# juju
# keystoneauth1
# os-service-types
# oslo-context
# typing-inspect
typing-inspect==0.9.0
# via juju
tzdata==2026.2
# via oslo-utils
ujson==5.12.1
# via gnocchiclient
urllib3==2.7.0
# via
# botocore
# kubernetes
# requests
virtualenv==20.39.1
# via charm-tools
voluptuous==0.16.0
# via stestr
warlock==2.1.0
# via python-glanceclient
webob==1.8.9
# via osprofiler
websocket-client==1.9.0
# via kubernetes
websockets==16.0
# via juju
wrapt==2.2.1
# via
# debtcollector
# python-glanceclient
yarl==1.24.2
# via aiohttp
zaza==2024.1.1
# via
# -r test-requirements.in
# zaza-openstack
zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git
# via -r test-requirements.in
# The following packages are considered to be unsafe in a requirements file:
# juju
# kubernetes
+1 -1
View File
@@ -6,4 +6,4 @@
needs_charm_build: true
charm_build_name: neutron-api
build_type: charmcraft
charmcraft_channel: 3.x/beta
charmcraft_channel: 3.x/stable
File renamed without changes.
+740
View File
@@ -0,0 +1,740 @@
#
# This file is autogenerated by pip-compile with Python 3.12
# by the following command:
#
# pip-compile --output-file=test-requirements-py312.txt --unsafe-package=juju --unsafe-package=kubernetes test-requirements.in
#
aiohappyeyeballs==2.6.2
# via aiohttp
aiohttp==3.13.5
# via
# python-libmaas
# zaza
aiosignal==1.4.0
# via aiohttp
aodhclient==3.11.0
# via zaza-openstack
argcomplete==3.6.3
# via python-libmaas
async-generator==1.10
# via
# zaza
# zaza-openstack
attrs==26.1.0
# via
# aiohttp
# jsonschema
autopage==0.6.0
# via cliff
babel==2.18.0
# via
# python-heatclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
backports-datetime-fromisoformat==2.0.3
# via juju
bcrypt==5.0.0
# via paramiko
blessings==1.7
# via charm-tools
boto3==1.43.18
# via zaza-openstack
botocore==1.43.18
# via
# boto3
# s3transfer
certifi==2026.5.20
# via
# kubernetes
# requests
cffi==2.0.0
# via
# cryptography
# pynacl
charm-tools @ git+https://github.com/juju/charm-tools.git
# via -r test-requirements.in
charset-normalizer==3.4.7
# via requests
cheetah3==3.2.6.post1
# via charm-tools
cliff==4.14.0
# via
# aodhclient
# gnocchiclient
# osc-lib
# python-barbicanclient
# python-cloudkittyclient
# python-designateclient
# python-heatclient
# python-ironicclient
# python-neutronclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
# stestr
cmd2==3.5.1
# via cliff
colander==1.8.3
# via charm-tools
colorclass==2.2.2
# via python-libmaas
coverage==7.14.1
# via -r test-requirements.in
croniter==6.2.2
# via -r test-requirements.in
cryptography==3.3.2
# via
# openstacksdk
# paramiko
# pyopenssl
# python-magnumclient
# secretstorage
# trustme
# zaza
# zaza-openstack
debtcollector==3.1.0
# via
# gnocchiclient
# oslo-concurrency
# oslo-config
# oslo-log
# python-designateclient
# python-keystoneclient
# python-manilaclient
# python-neutronclient
decorator==5.3.1
# via
# dogpile-cache
# jsonpath-rw
# openstacksdk
# python-magnumclient
dict2colander==0.2
# via charm-tools
distlib==0.4.0
# via virtualenv
dnspython==2.8.0
# via
# pymongo
# zaza-openstack
dogpile-cache==1.5.0
# via
# openstacksdk
# python-ironicclient
fasteners==0.20
# via oslo-concurrency
filelock==3.29.0
# via virtualenv
fixtures==4.3.2
# via stestr
flake8==7.1.1
# via -r test-requirements.in
frozenlist==1.8.0
# via
# aiohttp
# aiosignal
futurist==1.10.0
# via
# gnocchiclient
# zaza-openstack
gnocchiclient==7.2.0
# via zaza-openstack
google-auth==2.47.0
# via kubernetes
hvac==0.6.4
# via
# juju
# zaza
# zaza-openstack
idna==3.17
# via
# requests
# trustme
# yarl
invoke==3.0.3
# via paramiko
iso8601==2.1.0
# via
# colander
# gnocchiclient
# keystoneauth1
# openstacksdk
# oslo-utils
# python-ceilometerclient
# python-heatclient
# python-neutronclient
# python-novaclient
# python-subunit
jaraco-classes==3.4.0
# via keyring
jeepney==0.9.0
# via
# keyring
# secretstorage
jinja2==3.1.6
# via
# zaza
# zaza-openstack
jmespath==1.1.0
# via
# boto3
# botocore
# openstacksdk
jsonpatch==1.33
# via
# openstacksdk
# warlock
jsonpath-rw==1.4.0
# via jsonpath-rw-ext
jsonpath-rw-ext==1.2.2
# via python-cloudkittyclient
jsonpointer==3.1.1
# via jsonpatch
jsonschema==4.17.3
# via
# charm-tools
# python-designateclient
# python-ironicclient
# warlock
juju-wait==2.8.4
# via zaza
jujubundlelib==0.5.7
# via charm-tools
keyring==23.13.1
# via charm-tools
keystoneauth1==5.14.0
# via
# aodhclient
# gnocchiclient
# openstacksdk
# osc-lib
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
lxml==6.1.1
# via zaza-openstack
macaroonbakery==1.3.4
# via
# juju
# python-libmaas
# zaza
markdown-it-py==4.2.0
# via rich
markupsafe==3.0.3
# via jinja2
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
more-itertools==11.1.0
# via jaraco-classes
msgpack==1.1.2
# via oslo-serialization
multidict==6.7.1
# via
# aiohttp
# yarl
mypy-extensions==1.1.0
# via typing-inspect
netaddr==1.3.0
# via
# oslo-config
# oslo-utils
# osprofiler
# python-neutronclient
netifaces==0.11.0
# via python-octaviaclient
oauthlib==3.3.1
# via
# kubernetes
# python-libmaas
# requests-oauthlib
openstacksdk==4.14.0
# via
# os-client-config
# osc-lib
# python-cloudkittyclient
# python-ironicclient
# python-magnumclient
# python-openstackclient
os-client-config==2.3.0
# via python-neutronclient
os-service-types==1.8.2
# via
# keystoneauth1
# openstacksdk
osc-lib==3.2.0
# via
# aodhclient
# python-cloudkittyclient
# python-designateclient
# python-heatclient
# python-ironicclient
# python-magnumclient
# python-neutronclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
# zaza-openstack
oslo-concurrency==7.5.0
# via osprofiler
oslo-config==6.11.3
# via
# oslo-concurrency
# oslo-log
# osprofiler
# python-keystoneclient
# python-manilaclient
# zaza
# zaza-openstack
oslo-context==6.4.0
# via oslo-log
oslo-i18n==6.8.0
# via
# aodhclient
# osc-lib
# oslo-concurrency
# oslo-config
# oslo-log
# oslo-utils
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-glanceclient
# python-heatclient
# python-keystoneclient
# python-magnumclient
# python-neutronclient
# python-novaclient
# python-openstackclient
# python-watcherclient
oslo-log==8.2.0
# via
# python-cloudkittyclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
oslo-serialization==5.10.0
# via
# aodhclient
# oslo-log
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-designateclient
# python-heatclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-watcherclient
oslo-utils==10.1.0
# via
# aodhclient
# osc-lib
# oslo-concurrency
# oslo-log
# oslo-serialization
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
osprofiler==4.4.0
# via aodhclient
otherstuf==1.1.0
# via charm-tools
packaging==26.2
# via
# juju
# oslo-utils
paramiko==5.0.0
# via juju
parse==1.22.1
# via stuf
path==16.16.0
# via charm-tools
pathspec==0.10.3
# via charm-tools
pbr==7.0.3
# via
# aodhclient
# futurist
# jsonpath-rw-ext
# keystoneauth1
# openstacksdk
# os-client-config
# os-service-types
# osc-lib
# oslo-concurrency
# oslo-context
# oslo-i18n
# oslo-log
# oslo-utils
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-cloudkittyclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-watcherclient
pika==1.4.1
# via zaza-openstack
pip==26.1.2
# via charm-tools
platformdirs==4.10.0
# via
# openstacksdk
# python-ironicclient
# virtualenv
ply==3.11
# via jsonpath-rw
prettytable==0.7.2
# via
# cliff
# futurist
# osprofiler
# python-ceilometerclient
# python-cinderclient
# python-glanceclient
# python-heatclient
# python-magnumclient
# python-manilaclient
# python-novaclient
propcache==0.5.2
# via
# aiohttp
# yarl
protobuf==7.35.0
# via macaroonbakery
psutil==7.2.2
# via
# -r test-requirements.in
# openstacksdk
# oslo-utils
pyasn1==0.6.3
# via
# juju
# pyasn1-modules
# rsa
pyasn1-modules==0.4.2
# via google-auth
pycodestyle==2.12.1
# via flake8
pycparser==3.0
# via cffi
pyflakes==3.2.0
# via flake8
pygments==2.20.0
# via rich
pymacaroons==0.13.0
# via macaroonbakery
pymongo==4.17.0
# via python-libmaas
pynacl==1.6.2
# via
# macaroonbakery
# paramiko
# pymacaroons
pyopenssl==21.0.0
# via
# python-glanceclient
# zaza-openstack
pyparsing==2.4.7
# via
# -r test-requirements.in
# aodhclient
# oslo-utils
pyperclip==1.11.0
# via cmd2
pyrfc3339==1.1
# via macaroonbakery
pyrsistent==0.20.0
# via jsonschema
python-barbicanclient==4.10.0
# via zaza-openstack
python-ceilometerclient==2.9.0
# via zaza-openstack
python-cinderclient==9.9.0
# via
# python-openstackclient
# zaza-openstack
python-cloudkittyclient==6.1.0
# via zaza-openstack
python-dateutil==2.9.0.post0
# via
# botocore
# croniter
# gnocchiclient
# kubernetes
# oslo-log
python-designateclient==2.12.0
# via zaza-openstack
python-glanceclient==4.12.0
# via
# python-openstackclient
# zaza-openstack
python-heatclient==1.18.1
# via zaza-openstack
python-ironicclient==6.1.0
# via zaza-openstack
python-keystoneclient==3.21.0
# via
# python-manilaclient
# python-neutronclient
# python-openstackclient
# zaza-openstack
python-libmaas==0.6.8
# via zaza
python-magnumclient==4.10.0
# via zaza-openstack
python-manilaclient==1.29.0
# via zaza-openstack
python-neutronclient==6.14.1
# via
# python-octaviaclient
# zaza-openstack
python-novaclient==15.1.1
# via
# python-openstackclient
# zaza-openstack
python-octaviaclient==1.10.1
# via zaza-openstack
python-openstackclient==4.0.2
# via python-octaviaclient
python-subunit==1.4.6
# via stestr
python-swiftclient==3.8.1
# via
# python-heatclient
# zaza-openstack
python-watcherclient==4.10.0
# via zaza-openstack
pytz==2026.2
# via
# pyrfc3339
# python-libmaas
pyudev==0.24.4
# via -r test-requirements.in
pyyaml==6.0.3
# via
# charm-tools
# cliff
# juju
# juju-wait
# jujubundlelib
# kubernetes
# openstacksdk
# oslo-config
# oslo-utils
# python-cloudkittyclient
# python-heatclient
# python-ironicclient
# python-libmaas
# python-subunit
# python-watcherclient
# stestr
# zaza
# zaza-openstack
requests==2.34.2
# via
# -r test-requirements.in
# charm-tools
# hvac
# keystoneauth1
# kubernetes
# macaroonbakery
# osc-lib
# oslo-config
# osprofiler
# python-barbicanclient
# python-ceilometerclient
# python-cinderclient
# python-designateclient
# python-glanceclient
# python-heatclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
# python-manilaclient
# python-neutronclient
# python-octaviaclient
# python-swiftclient
# requests-oauthlib
requests-oauthlib==2.0.0
# via kubernetes
requirements-parser==0.5.0
# via charm-tools
rfc3986==2.0.0
# via oslo-config
rich==15.0.0
# via
# cmd2
# rich-argparse
rich-argparse==1.8.0
# via cmd2
rsa==4.9.1
# via google-auth
ruamel-yaml==0.17.40
# via charm-tools
ruamel-yaml-clib==0.2.15
# via ruamel-yaml
s3transfer==0.18.0
# via boto3
secretstorage==3.3.3
# via
# charm-tools
# keyring
setuptools==81.0.0
# via
# -r test-requirements.in
# charm-tools
# colander
# pbr
simplejson==4.1.1
# via
# python-manilaclient
# python-neutronclient
# python-novaclient
six==1.17.0
# via
# blessings
# cryptography
# futurist
# jsonpath-rw
# kubernetes
# macaroonbakery
# oslo-config
# pymacaroons
# pyopenssl
# python-barbicanclient
# python-ceilometerclient
# python-dateutil
# python-designateclient
# python-heatclient
# python-keystoneclient
# python-manilaclient
# python-neutronclient
# python-novaclient
# python-octaviaclient
# python-openstackclient
# python-swiftclient
stestr==4.2.1
# via -r test-requirements.in
stevedore==5.8.0
# via
# cliff
# dogpile-cache
# keystoneauth1
# osc-lib
# oslo-config
# python-ceilometerclient
# python-cinderclient
# python-designateclient
# python-ironicclient
# python-keystoneclient
# python-magnumclient
stuf==0.9.16
# via otherstuf
tenacity==9.1.4
# via
# zaza
# zaza-openstack
terminaltables==3.1.10
# via python-libmaas
testtools==2.9.1
# via
# python-subunit
# stestr
tomlkit==0.15.0
# via stestr
toposort==1.10
# via juju
translationstring==1.4
# via colander
trustme==1.2.1
# via zaza-openstack
types-setuptools==82.0.0.20260518
# via requirements-parser
typing-extensions==4.15.0
# via
# aiosignal
# juju
# keystoneauth1
# os-service-types
# oslo-context
# typing-inspect
typing-inspect==0.9.0
# via juju
ujson==5.12.1
# via gnocchiclient
urllib3==2.7.0
# via
# botocore
# kubernetes
# requests
virtualenv==20.39.1
# via charm-tools
voluptuous==0.16.0
# via stestr
warlock==2.1.0
# via python-glanceclient
webob==1.8.9
# via osprofiler
websocket-client==1.9.0
# via kubernetes
websockets==16.0
# via juju
wrapt==2.2.1
# via
# debtcollector
# python-glanceclient
yarl==1.24.2
# via aiohttp
zaza==2024.1.1
# via
# -r test-requirements.in
# zaza-openstack
zaza-openstack @ git+https://github.com/openstack-charmers/zaza-openstack-tests.git
# via -r test-requirements.in
# The following packages are considered to be unsafe in a requirements file:
# juju
# kubernetes
@@ -15,11 +15,11 @@ stestr>=2.2.0
coverage>=4.5.2
pyudev # for ceph-* charm unit tests (need to fix the ceph-* charm unit tests/mocking)
git+https://github.com/openstack-charmers/zaza.git#egg=zaza
zaza==2024.*
git+https://github.com/openstack-charmers/zaza-openstack-tests.git#egg=zaza.openstack
# Needed for charm-glance:
git+https://opendev.org/openstack/tempest.git#egg=tempest
croniter # needed for charm-rabbitmq-server unit tests
psutil
setuptools<82.0.0
git+https://github.com/juju/charm-tools.git
flake8==7.1.1
+1 -1
View File
@@ -21,7 +21,7 @@ applications:
num_units: 1
channel: latest/edge
neutron-api:
charm: ../../neutron-api.charm
charm: ../../charm-neutron-api_ubuntu@24.04-amd64.charm
num_units: 1
options:
manage-neutron-plugin-legacy-mode: True
+16 -51
View File
@@ -3,10 +3,7 @@
# within individual charm repos. See the 'global' dir contents for available
# choices of tox.ini for OpenStack Charms:
# https://github.com/openstack-charmers/release-tools
#
# TODO: Distill the func test requirements from the lint/unit test
# requirements. They are intertwined. Also, Zaza itself should specify
# all of its own requirements and if it doesn't, fix it there.
[tox]
envlist = pep8,py3
# NOTE: Avoid build/test env pollution by not enabling sitepackages.
@@ -15,76 +12,50 @@ sitepackages = False
skip_missing_interpreters = False
[testenv]
basepython = python3.12
# We use tox mainly for virtual environment management for test requirements
# and do not install the charm code as a Python package into that environment.
# Ref: https://tox.wiki/en/latest/config.html#skip_install
skip_install = True
setenv = VIRTUAL_ENV={envdir}
PYTHONHASHSEED=0
CHARM_DIR={envdir}
commands = stestr run --slowest {posargs}
allowlist_externals =
charmcraft
{toxinidir}/rename.sh
passenv =
HOME
TERM
CS_*
OS_*
TEST_*
allowlist_externals =
charmcraft
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/test-requirements.txt
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza/master/constraints-juju36.txt}
-r{toxinidir}/merged-requirements-py312.txt
[testenv:update-requirements]
basepython = python3.12
deps = pip-tools
commands =
pip-compile --unsafe-package juju --unsafe-package kubernetes --output-file=test-requirements-py312.txt test-requirements.in
pip-compile --unsafe-package juju --unsafe-package kubernetes --output-file=merged-requirements-py312.txt requirements.in test-requirements.in
[testenv:build]
basepython = python3
deps =
# charmcraft clean is done to ensure that
# `tox -e build` always performs a clean, repeatable build.
# For faster rebuilds during development,
# directly run `charmcraft -v pack && ./rename.sh`.
# directly run `charmcraft -v pack
commands =
charmcraft clean
charmcraft -v pack
{toxinidir}/rename.sh
charmcraft clean
[testenv:py312]
basepython = python3.12
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py310]
basepython = python3.10
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
[testenv:py3]
basepython = python3
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
commands = stestr run --slowest {posargs}
[testenv:pep8]
basepython = python3
deps = flake8==7.1.1
git+https://github.com/juju/charm-tools.git
deps = -r {toxinidir}/test-requirements-py312.txt
commands = flake8 {posargs} hooks unit_tests tests actions lib files
charm-proof
[testenv:cover]
# Technique based heavily upon
# https://github.com/openstack/nova/blob/master/tox.ini
basepython = python3
deps =
-c {env:TEST_CONSTRAINTS_FILE:https://raw.githubusercontent.com/openstack-charmers/zaza-openstack-tests/master/constraints/constraints-2024.1.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
setenv =
{[testenv]setenv}
PYTHON=coverage run
@@ -108,31 +79,25 @@ omit =
unit_tests/*
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:func-noop]
basepython = python3
commands =
functest-run-suite --help
[testenv:func]
basepython = python3
commands =
functest-run-suite --keep-model
[testenv:func-smoke]
basepython = python3
commands =
functest-run-suite --keep-model --smoke
[testenv:func-dev]
basepython = python3
commands =
functest-run-suite --keep-model --dev
[testenv:func-target]
basepython = python3
commands =
functest-run-suite --keep-model --bundle {posargs}