From d97eaf913d2fa540c07f97d2c3e4402a83e105a0 Mon Sep 17 00:00:00 2001 From: Alex Kavanagh Date: Mon, 27 Sep 2021 19:54:37 +0100 Subject: [PATCH] Add xena bundles - add non-voting impish - drop groovy bundle - rebuild to pick up charm-helpers changes - update tox/pip.sh to ensure setuptools<50.0.0 Note that this charm doesn't require interim OpenStack releases (e.g. focal-ussuri, -xena, -victoria) as it isn't based on OpenStack releases. The ovn-chassis charm doesn't have a source or openstack-origin. The bionic-train and bionic-ussuri jobs are retained for historical perspectives as they specify a PPA for the magpie charm in those bundles. Change-Id: I9840db1b88781d074dfbce8db875f458e5fd090a --- osci.yaml | 6 +++--- pip.sh | 18 ++++++++++++++++++ rebuild | 2 +- src/tests/bundles/{groovy.yaml => impish.yaml} | 2 +- src/tests/tests.yaml | 7 ++++--- src/tox.ini | 4 ++-- tox.ini | 17 ++++++++++++++++- 7 files changed, 45 insertions(+), 11 deletions(-) create mode 100755 pip.sh rename src/tests/bundles/{groovy.yaml => impish.yaml} (99%) diff --git a/osci.yaml b/osci.yaml index 4b5069e..a93f09f 100644 --- a/osci.yaml +++ b/osci.yaml @@ -3,12 +3,12 @@ - charm-unit-jobs check: jobs: - - charm-build - - bionic-ussuri - bionic-train + - bionic-ussuri - focal - - groovy - hirsute + - impish: + voting: false vars: needs_charm_build: true charm_build_name: ovn-chassis diff --git a/pip.sh b/pip.sh new file mode 100755 index 0000000..9a7e6b0 --- /dev/null +++ b/pip.sh @@ -0,0 +1,18 @@ +#!/usr/bin/env bash +# +# This file is managed centrally by release-tools and should not be modified +# 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 +# +# setuptools 58.0 dropped the support for use_2to3=true which is needed to +# install blessings (an indirect dependency of charm-tools). +# +# More details on the beahvior of tox and virtualenv creation can be found at +# https://github.com/tox-dev/tox/issues/448 +# +# This script is wrapper to force the use of the pinned versions early in the +# process when the virtualenv was created and upgraded before installing the +# depedencies declared in the target. +pip install 'pip<20.3' 'setuptools<50.0.0' +pip "$@" diff --git a/rebuild b/rebuild index 9874f1c..dd1151e 100644 --- a/rebuild +++ b/rebuild @@ -2,4 +2,4 @@ # when dependencies of the charm change, # but nothing in the charm needs to. # simply change the uuid to something new -445369d3-d575-4fb0-8524-c82cab1188de +53ee5d0c-1178-11ec-8cae-235e88e2da01 diff --git a/src/tests/bundles/groovy.yaml b/src/tests/bundles/impish.yaml similarity index 99% rename from src/tests/bundles/groovy.yaml rename to src/tests/bundles/impish.yaml index 5d7e4f6..3bdb5ba 100644 --- a/src/tests/bundles/groovy.yaml +++ b/src/tests/bundles/impish.yaml @@ -1,7 +1,7 @@ variables: openstack-origin: &openstack-origin distro -series: groovy +series: impish comment: - 'machines section to decide order of deployment. database sooner = faster' diff --git a/src/tests/tests.yaml b/src/tests/tests.yaml index 0fea973..ab0bba9 100644 --- a/src/tests/tests.yaml +++ b/src/tests/tests.yaml @@ -1,16 +1,16 @@ charm_name: ovn-chassis gate_bundles: -- bionic-ussuri - bionic-train +- bionic-ussuri - focal -- groovy smoke_bundles: - focal dev_bundles: - hirsute +- impish target_deploy_status: magpie: @@ -39,4 +39,5 @@ tests: tests_options: force_deploy: - - hirsute + - hirsute # as nrpe is deployed, and nrpe only supports LTS releases + - impish # as nrpe is deployed, and nrpe only supports LTS releases diff --git a/src/tox.ini b/src/tox.ini index e763047..b40d295 100644 --- a/src/tox.ini +++ b/src/tox.ini @@ -22,12 +22,12 @@ skip_missing_interpreters = False requires = pip < 20.3 virtualenv < 20.0 # NOTE: https://wiki.canonical.com/engineering/OpenStack/InstallLatestToxOnOsci -minversion = 3.2.0 +minversion = 3.18.0 [testenv] setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 -whitelist_externals = juju +allowlist_externals = juju passenv = HOME TERM CS_* OS_* TEST_* deps = -r{toxinidir}/test-requirements.txt install_command = diff --git a/tox.ini b/tox.ini index 5c81801..22159df 100644 --- a/tox.ini +++ b/tox.ini @@ -11,6 +11,21 @@ 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 [testenv] setenv = VIRTUAL_ENV={envdir} @@ -21,7 +36,7 @@ setenv = VIRTUAL_ENV={envdir} JUJU_REPOSITORY={toxinidir}/build passenv = http_proxy https_proxy INTERFACE_PATH LAYER_PATH JUJU_REPOSITORY install_command = - pip install {opts} {packages} + {toxinidir}/pip.sh install {opts} {packages} deps = -r{toxinidir}/requirements.txt