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 <charles.short@windriver.com>
Change-Id: I34741368cf308b463feeee6425362fe86fe3c958
This commit is contained in:
Charles Short 2021-09-02 13:25:37 -04:00
parent c85f980a6d
commit c83bcff642
5 changed files with 48 additions and 13 deletions

View File

@ -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=
QxX8x0Bpt4ZvOGXiJIP0KWcFAEceSjds6DPzCX9z8HyK9CWX0aFC2R4Wis8PyY=

10
bindep.txt Normal file
View File

@ -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]

View File

@ -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}}
})

View File

@ -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

View File

@ -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}