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. This patch also drops the impish bundle and fixes channels for auxiliary charms. Update metadata with jammy support. Replace `octavia.setup.ensure_lts_images` with the default glance lts image configure job. Drop python build dependencies in wheelhouse and let the binary build figure those out automatically. Closes-Bug: #1915171 Change-Id: I744a8903be7450b5d9b2af3f96c6f61d206f9271
This commit is contained in:
parent
975502813f
commit
7cb77afe26
|
@ -8,28 +8,49 @@ parts:
|
|||
- python3-dev
|
||||
- libffi-dev
|
||||
- libssl-dev
|
||||
- libxml2-dev
|
||||
- libxslt1-dev
|
||||
- rustc
|
||||
- cargo
|
||||
build-environment:
|
||||
- MAKEFLAGS: -j$(nproc)
|
||||
override-build: |
|
||||
apt-get install ca-certificates -y
|
||||
tox -e build-reactive
|
||||
override-stage: |
|
||||
echo "Copying charm to staging area: $CHARMCRAFT_STAGE"
|
||||
NAME=$(ls $CHARMCRAFT_PART_BUILD/build/builds)
|
||||
cp -r $CHARMCRAFT_PART_BUILD/build/builds/$NAME/* $CHARMCRAFT_STAGE/
|
||||
echo "Copying charm to staging area: $CRAFT_STAGE"
|
||||
NAME=$(ls $CRAFT_PART_BUILD/build/builds)
|
||||
cp -r $CRAFT_PART_BUILD/build/builds/$NAME/* $CRAFT_STAGE/
|
||||
override-prime: |
|
||||
# For some reason, the normal priming chokes on the fact that there's a
|
||||
# hooks directory.
|
||||
cp -r $CHARMCRAFT_STAGE/* .
|
||||
cp -r $CRAFT_STAGE/* .
|
||||
# Charmcraft looks for this specific entry point.
|
||||
mkdir src
|
||||
ln -sf ../hooks/start src/charm.py
|
||||
|
||||
bases:
|
||||
- build-on:
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures:
|
||||
- amd64
|
||||
run-on:
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [amd64, s390x, ppc64el, arm64]
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [amd64, s390x, ppc64el, arm64]
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [amd64]
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [arm64]
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [ppc64el]
|
||||
- name: ubuntu
|
||||
channel: "20.04"
|
||||
architectures: [s390x]
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [amd64]
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [arm64]
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [ppc64el]
|
||||
- name: ubuntu
|
||||
channel: "22.04"
|
||||
architectures: [s390x]
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
needs_charm_build: true
|
||||
charm_build_name: octavia
|
||||
build_type: charmcraft
|
||||
charmcraft_channel: 2.0/stable
|
||||
|
||||
- job:
|
||||
name: focal-xena-ha
|
||||
|
|
|
@ -19,7 +19,7 @@ tags:
|
|||
- openstack
|
||||
series:
|
||||
- focal
|
||||
- impish
|
||||
- jammy
|
||||
subordinate: false
|
||||
provides:
|
||||
nrpe-external-master:
|
||||
|
|
|
@ -114,30 +114,30 @@ applications:
|
|||
channel: yoga/edge
|
||||
octavia-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
nova-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
placement-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
vault-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-api:
|
||||
constraints: cores=4
|
||||
charm: ch:neutron-api
|
||||
|
@ -171,12 +171,15 @@ applications:
|
|||
charm: ch:hacluster
|
||||
channel: 2.0.3/edge
|
||||
ovn-chassis-octavia:
|
||||
series: *series
|
||||
charm: ch:ovn-chassis
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
options:
|
||||
ovn-source: distro
|
||||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-20.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -191,13 +194,20 @@ applications:
|
|||
num_units: 1
|
||||
options:
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(focal)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ch:octavia-diskimage-retrofit
|
||||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
retrofit-uca-pocket: wallaby
|
||||
retrofit-uca-pocket: xena
|
||||
channel: yoga/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
|
@ -216,10 +226,12 @@ applications:
|
|||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
ovn-chassis:
|
||||
charm: ch:ovn-chassis
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
options:
|
||||
ovn-source: distro
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
|
|
|
@ -201,7 +201,7 @@ applications:
|
|||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-20.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -219,6 +219,13 @@ applications:
|
|||
num_units: 1
|
||||
options:
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(focal)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
octavia-diskimage-retrofit:
|
||||
series: *series
|
||||
|
@ -226,7 +233,7 @@ applications:
|
|||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
retrofit-uca-pocket: wallaby
|
||||
retrofit-uca-pocket: xena
|
||||
channel: yoga/edge
|
||||
placement:
|
||||
series: *series
|
||||
|
|
|
@ -171,12 +171,13 @@ applications:
|
|||
charm: ch:hacluster
|
||||
channel: 2.0.3/edge
|
||||
ovn-chassis-octavia:
|
||||
series: *series
|
||||
charm: ch:ovn-chassis
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-20.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -191,13 +192,20 @@ applications:
|
|||
num_units: 1
|
||||
options:
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(focal)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ch:octavia-diskimage-retrofit
|
||||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
retrofit-uca-pocket: wallaby
|
||||
retrofit-uca-pocket: yoga
|
||||
channel: yoga/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
|
@ -216,10 +224,10 @@ applications:
|
|||
num_units: 3
|
||||
options:
|
||||
source: *openstack-origin
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
ovn-chassis:
|
||||
charm: ch:ovn-chassis
|
||||
channel: latest/edge
|
||||
channel: 22.03/edge
|
||||
vault:
|
||||
charm: ch:vault
|
||||
num_units: 1
|
||||
|
|
|
@ -187,7 +187,7 @@ applications:
|
|||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-20.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -203,13 +203,20 @@ applications:
|
|||
num_units: 1
|
||||
options:
|
||||
use_swift: False
|
||||
mirror_list: "[{url: 'http://cloud-images.ubuntu.com/releases/',
|
||||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(focal)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ch:octavia-diskimage-retrofit
|
||||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
retrofit-uca-pocket: wallaby
|
||||
retrofit-uca-pocket: yoga
|
||||
channel: yoga/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
|
|
|
@ -114,30 +114,30 @@ applications:
|
|||
channel: yoga/edge
|
||||
octavia-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
nova-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
placement-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
vault-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-api:
|
||||
constraints: cores=4
|
||||
charm: ch:neutron-api
|
||||
|
@ -169,14 +169,15 @@ applications:
|
|||
hacluster-octavia:
|
||||
series: *series
|
||||
charm: ch:hacluster
|
||||
channel: 2.0.3/edge
|
||||
channel: 2.4/edge
|
||||
ovn-chassis-octavia:
|
||||
series: *series
|
||||
charm: ch:ovn-chassis
|
||||
channel: latest/edge
|
||||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-22.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -185,7 +186,7 @@ applications:
|
|||
rabbitmq-server:
|
||||
charm: ch:rabbitmq-server
|
||||
num_units: 1
|
||||
channel: 3.8/edge
|
||||
channel: 3.9/edge
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
num_units: 1
|
||||
|
@ -195,16 +196,16 @@ applications:
|
|||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(bionic|focal|hirsute)',
|
||||
'release~(jammy)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ch:octavia-diskimage-retrofit
|
||||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
num_units: 1
|
||||
|
|
|
@ -106,30 +106,30 @@ applications:
|
|||
channel: yoga/edge
|
||||
octavia-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
keystone-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
nova-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
glance-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
placement-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
vault-mysql-router:
|
||||
charm: ch:mysql-router
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
mysql-innodb-cluster:
|
||||
constraints: mem=3072M
|
||||
charm: ch:mysql-innodb-cluster
|
||||
num_units: 3
|
||||
channel: 8.0.19/edge
|
||||
channel: 8.0/edge
|
||||
neutron-api:
|
||||
charm: ch:neutron-api
|
||||
num_units: 1
|
||||
|
@ -181,13 +181,14 @@ applications:
|
|||
debug: True
|
||||
channel: yoga/edge
|
||||
hacluster-octavia:
|
||||
series: *series
|
||||
charm: ch:hacluster
|
||||
num_units: 0
|
||||
channel: 2.0.3/edge
|
||||
channel: 2.4/edge
|
||||
octavia:
|
||||
constraints: cores=8
|
||||
series: *series
|
||||
charm: ../../../octavia.charm
|
||||
charm: ../../../octavia_ubuntu-22.04-amd64.charm
|
||||
num_units: 3
|
||||
options:
|
||||
openstack-origin: *openstack-origin
|
||||
|
@ -197,7 +198,7 @@ applications:
|
|||
rabbitmq-server:
|
||||
charm: ch:rabbitmq-server
|
||||
num_units: 1
|
||||
channel: 3.8/edge
|
||||
channel: 3.9/edge
|
||||
glance-simplestreams-sync:
|
||||
charm: ch:glance-simplestreams-sync
|
||||
num_units: 1
|
||||
|
@ -207,16 +208,16 @@ applications:
|
|||
name_prefix: 'ubuntu:released',
|
||||
path: 'streams/v1/index.sjson', max: 1,
|
||||
item_filters: [
|
||||
'release~(bionic|focal|hirsute)',
|
||||
'release~(jammy)',
|
||||
'arch~(x86_64|amd64)',
|
||||
'ftype~(disk1.img|disk.img)']}]"
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
octavia-diskimage-retrofit:
|
||||
charm: ch:octavia-diskimage-retrofit
|
||||
options:
|
||||
amp-image-tag: 'octavia-amphora'
|
||||
retrofit-series: *series
|
||||
channel: yoga/edge
|
||||
channel: latest/edge
|
||||
placement:
|
||||
charm: ch:placement
|
||||
num_units: 1
|
||||
|
|
|
@ -44,7 +44,7 @@ target_deploy_status:
|
|||
configure:
|
||||
- zaza.openstack.charm_tests.vault.setup.auto_initialize
|
||||
- zaza.openstack.charm_tests.glance_simplestreams_sync.setup.sync_images
|
||||
- zaza.openstack.charm_tests.octavia.setup.ensure_lts_images
|
||||
- zaza.openstack.charm_tests.glance.setup.add_lts_image
|
||||
- zaza.openstack.charm_tests.octavia.diskimage_retrofit.setup.retrofit_amphora_image
|
||||
- zaza.openstack.charm_tests.octavia.setup.configure_octavia
|
||||
- zaza.openstack.charm_tests.nova.setup.create_flavors
|
||||
|
|
|
@ -1,41 +1,12 @@
|
|||
# cachetools > 4.2.1 requires setuptools >= 46.4 which breaks most install targets
|
||||
cachetools<4.2.2
|
||||
# Several dependencies now require setuptools-scm>=3.0,<=3.4.1 which requires toml
|
||||
setuptools-scm>=3.0,<=3.4.1
|
||||
toml
|
||||
keystoneauth1
|
||||
pbr
|
||||
python-novaclient
|
||||
python-neutronclient
|
||||
# REMOVEME -- fix for https://github.com/pyparsing/pyparsing/issues/164
|
||||
pyparsing==2.4.2
|
||||
poetry-core
|
||||
neutron_lib
|
||||
# neutron-lib indirectly requires Tempits (neutron-lib -> oslo.db -> sqlalchemy-migrate -> Tempita)
|
||||
# and Tempita is incompatible with setuptools 58+
|
||||
Tempita<0.5
|
||||
pytest-runner
|
||||
# python-zipp 2.x introduces a requirement for setuptools 42.x which is not available.
|
||||
# resolve conflict:
|
||||
# layer-basic requires setuptools<42, zipp>=2.0.0 requires setuptools>42
|
||||
# LP: #1862186
|
||||
zipp<2.0.0
|
||||
# Mako, importlib_metadata, importlib_resources, cmd2, pytest-runner, soupsieve, cliff all pinned
|
||||
# for compat with setuptools<42
|
||||
importlib_metadata<3.1.0
|
||||
importlib_resources<4.1.0
|
||||
cmd2<1.5.0
|
||||
pytest-runner<5.3.0
|
||||
soupsieve<2.2
|
||||
Mako<1.2.0
|
||||
cliff<3.9.0 # cliff 3.9 includes dep on autopage which is dep on setuptools>42
|
||||
|
||||
keystoneauth1
|
||||
python-novaclient
|
||||
python-neutronclient
|
||||
neutron_lib
|
||||
tenacity
|
||||
# cryptography 3.4 introduces a requirement for rust code in the module. As it has to be compiled
|
||||
# on the machine during install, this breaks installs. Instead pin to <3.4 until a solution can be
|
||||
# found that doesn't require compiling on the target machine.
|
||||
# LP: #1915171
|
||||
cryptography<3.4
|
||||
|
||||
git+https://github.com/openstack/charms.openstack.git#egg=charms.openstack
|
||||
|
||||
|
|
20
tox.ini
20
tox.ini
|
@ -11,18 +11,6 @@ envlist = pep8,py3
|
|||
sitepackages = False
|
||||
# NOTE: Avoid false positives by not skipping missing interpreters.
|
||||
skip_missing_interpreters = False
|
||||
# NOTES:
|
||||
# * We avoid the new dependency resolver by pinning pip < 20.3, see
|
||||
# https://github.com/pypa/pip/issues/9187
|
||||
# * Pinning dependencies requires tox >= 3.2.0, see
|
||||
# https://tox.readthedocs.io/en/latest/config.html#conf-requires
|
||||
# * It is also necessary to pin virtualenv as a newer virtualenv would still
|
||||
# lead to fetching the latest pip in the func* tox targets, see
|
||||
# https://stackoverflow.com/a/38133283
|
||||
requires =
|
||||
pip < 20.3
|
||||
virtualenv < 20.0
|
||||
setuptools<50.0.0
|
||||
|
||||
# NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci
|
||||
minversion = 3.18.0
|
||||
|
@ -41,7 +29,6 @@ allowlist_externals =
|
|||
charmcraft
|
||||
bash
|
||||
tox
|
||||
rename.sh
|
||||
deps =
|
||||
-r{toxinidir}/requirements.txt
|
||||
|
||||
|
@ -50,13 +37,12 @@ basepython = python3
|
|||
deps = -r{toxinidir}/build-requirements.txt
|
||||
commands =
|
||||
charmcraft clean
|
||||
charmcraft -v build
|
||||
{toxinidir}/rename.sh
|
||||
charmcraft -v pack
|
||||
|
||||
[testenv:build-reactive]
|
||||
basepython = python3
|
||||
commands =
|
||||
charm-build --log-level DEBUG --use-lock-file-branches -o {toxinidir}/build/builds src {posargs}
|
||||
charm-build --log-level DEBUG --use-lock-file-branches --binary-wheels-from-source -o {toxinidir}/build/builds src {posargs}
|
||||
|
||||
[testenv:add-build-lock-file]
|
||||
basepython = python3
|
||||
|
@ -96,7 +82,7 @@ commands = stestr run --slowest {posargs}
|
|||
[testenv:pep8]
|
||||
basepython = python3
|
||||
deps = flake8==3.9.2
|
||||
charm-tools==2.8.3
|
||||
git+https://github.com/juju/charm-tools.git
|
||||
commands = flake8 {posargs} src unit_tests
|
||||
|
||||
[testenv:func-target]
|
||||
|
|
Loading…
Reference in New Issue