From c83bcff6421c5a04ccaf92976ea3f1bbb9d6ec20 Mon Sep 17 00:00:00 2001 From: Charles Short Date: Thu, 2 Sep 2021 13:25:37 -0400 Subject: [PATCH] Enable py39 tox gate/test for app plugins Add support for tox testing under Debian Bullseye by enabling a python 3.9 gate and tox target for exercising plugin unit tests. Story: 2006796 Task: 43186 Signed-off-by: Charles Short Change-Id: I34741368cf308b463feeee6425362fe86fe3c958 --- .zuul.yaml | 21 ++++++++++++++++++- bindep.txt | 10 +++++++++ .../k8sapp_vault/tests/test_vault.py | 6 ++---- .../k8sapp_vault/test-requirements.txt | 6 +----- python-k8sapp-vault/k8sapp_vault/tox.ini | 18 +++++++++++++--- 5 files changed, 48 insertions(+), 13 deletions(-) create mode 100644 bindep.txt diff --git a/.zuul.yaml b/.zuul.yaml index 7dd42ac..cefe45f 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -3,13 +3,32 @@ check: jobs: - openstack-tox-linters + - k8app-vault-tox-py39 gate: jobs: - openstack-tox-linters + - k8app-vault-tox-py39 post: jobs: - stx-vault-armada-app-upload-git-mirror +- job: + name: k8app-vault-tox-py39 + parent: tox-py39 + description: | + Run py39 for vault armada app + nodeset: debian-bullseye + required-projects: + - starlingx/config + - starlingx/fault + - starlingx/update + - starlingx/utilities + files: + - python-k8sapp-vault/* + vars: + tox_envlist: py39 + python_version: 3.9 + tox_extra_args: -c python-k8sapp-vault/k8sapp_vault/tox.ini - job: name: stx-vault-armada-app-upload-git-mirror parent: upload-git-mirror @@ -100,4 +119,4 @@ UlcQK6MHMgwhqfZI2RmbARFgPov9OzmKrM8M4AZ4TYQwdgj57na6DOl7UEal5cHWsvR+8 t230YyZJ6MLy9l6R2zHPicgbJj3w5aERp3ipTkofL47FokPT8eFtPhy5BYIKFtjPDNAc7 2LF69MtEMJtfb9g6u4uzOp5Y/bg+4fsDYWd5Dw7kRjeKvWmmH9Uplh6Y569GW2z2NFekr - QxX8x0Bpt4ZvOGXiJIP0KWcFAEceSjds6DPzCX9z8HyK9CWX0aFC2R4Wis8PyY= \ No newline at end of file + QxX8x0Bpt4ZvOGXiJIP0KWcFAEceSjds6DPzCX9z8HyK9CWX0aFC2R4Wis8PyY= diff --git a/bindep.txt b/bindep.txt new file mode 100644 index 0000000..3ffe69f --- /dev/null +++ b/bindep.txt @@ -0,0 +1,10 @@ +# This is a cross-platform list tracking distribution packages needed for install and tests; +# see https://docs.openstack.org/infra/bindep/ for additional information. + +libffi-dev [platform:dpkg] +libldap2-dev [platform:dpkg] +libxml2-dev [platform:dpkg] +libxslt1-dev [platform:dpkg] +libsasl2-dev [platform:dpkg] +libffi-devel [platform:rpm] +python3-all-dev [platform:dpkg] diff --git a/python-k8sapp-vault/k8sapp_vault/k8sapp_vault/tests/test_vault.py b/python-k8sapp-vault/k8sapp_vault/k8sapp_vault/tests/test_vault.py index 3813ad6..400c035 100644 --- a/python-k8sapp-vault/k8sapp_vault/k8sapp_vault/tests/test_vault.py +++ b/python-k8sapp-vault/k8sapp_vault/k8sapp_vault/tests/test_vault.py @@ -31,8 +31,7 @@ class VaultIPv4ControllerHostTestCase(VaultTestCase, cnamespace=common.HELM_NS_VAULT) self.assertOverridesParameters(overrides, { - # 1 replica for 1 controller - 'replicaCount': 1 + 'server': {'ha': {'replicas': 1}} }) @@ -46,6 +45,5 @@ class VaultIPv6AIODuplexSystemTestCase(VaultTestCase, cnamespace=common.HELM_NS_VAULT) self.assertOverridesParameters(overrides, { - # 2 replicas for 2 controllers - 'replicaCount': 2 + 'server': {'ha': {'replicas': 1}} }) diff --git a/python-k8sapp-vault/k8sapp_vault/test-requirements.txt b/python-k8sapp-vault/k8sapp_vault/test-requirements.txt index e248a36..7fc556d 100644 --- a/python-k8sapp-vault/k8sapp_vault/test-requirements.txt +++ b/python-k8sapp-vault/k8sapp_vault/test-requirements.txt @@ -1,8 +1,6 @@ # The order of packages is significant, because pip processes them in the order # of appearance. Changing the order has an impact on the overall integration # process, which may cause wedges in the gate later. -flake8<3.8.0 -pycodestyle<2.6.0 # MIT License hacking>=1.1.0,<=2.0.0 # Apache-2.0 coverage>=3.6 discover @@ -12,12 +10,10 @@ passlib>=1.7.0 psycopg2-binary python-subunit>=0.0.18 requests-mock>=0.6.0 # Apache-2.0 -sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 -oslosphinx<2.6.0,>=2.5.0 # Apache-2.0 oslotest>=3.2.0 # Apache-2.0 stestr>=1.0.0 # Apache-2.0 testrepository>=0.0.18 -testtools!=1.2.0,>=0.9.36 +testtools>=2.2.0 # MIT tempest-lib<0.5.0,>=0.4.0 ipaddr pytest diff --git a/python-k8sapp-vault/k8sapp_vault/tox.ini b/python-k8sapp-vault/k8sapp_vault/tox.ini index 4cc980f..38ba37c 100644 --- a/python-k8sapp-vault/k8sapp_vault/tox.ini +++ b/python-k8sapp-vault/k8sapp_vault/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = flake8,py27,py36,pylint,bandit +envlist = flake8,py27,py36,py39,pylint,bandit minversion = 1.6 # skipsdist = True #,pip-missing-reqs @@ -15,14 +15,14 @@ distshare={toxworkdir}/.tox/distshare # Exception: Versioning for this project requires either an sdist tarball, # or access to an upstream git repository. # Note. site-packages is true and rpm-python must be yum installed on your dev machine. -sitepackages = True +sitepackages = False # tox is silly... these need to be separated by a newline.... whitelist_externals = bash find install_command = pip install \ - -v -v -v \ + -v -v -v --use-deprecated legacy-resolver \ -c{toxinidir}/upper-constraints.txt \ -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \ {opts} {packages} @@ -79,6 +79,18 @@ commands = stestr run {posargs} stestr slowest +[testenv:py39] +basepython = python3.9 +install_command = pip install \ + -v -v -v \ + --use-deprecated legacy-resolver \ + -c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \ + {opts} {packages} +commands = + {[testenv]commands} + stestr run {posargs} + stestr slowest + [testenv:pep8] # testenv:flake8 clone basepython = {[testenv:flake8]basepython}