Include py39 tests as part of zuul for this repo
The py39 job was mis-named and was using the wrong file filter pattern to trigger it from running. The test_helm base unit test class was removed from sysinv, as part of remove-armada-helmv2 work in March so adding stub unit tests so tox will not report an empty test run. pylint directives are now updated based on the debian upper constraints, and the unit tests are now validated by pylint. tox.ini is cleaned up since python3 is now the only supported version of python These changes have no runtime impact. This only affects tox and zuul. Test Plan: PASS: build-pkgs -c -p python3-k8sapp-portieris PASS: tox Closes-Bug: #2024005 Related-Bug: #1942909 Change-Id: Iece6e78a98b30111cadb62156e413dd19dd62a37 Signed-off-by: Al Bailey <al.bailey@windriver.com>
This commit is contained in:
parent
06daaf3f37
commit
53dbb19a52
42
.zuul.yaml
42
.zuul.yaml
@ -2,20 +2,20 @@
|
||||
- project:
|
||||
check:
|
||||
jobs:
|
||||
- k8app-portieris-tox-py39
|
||||
- openstack-tox-linters
|
||||
- k8sapp-portieris-tox-py39
|
||||
- k8sapp-portieris-tox-pylint
|
||||
gate:
|
||||
jobs:
|
||||
- k8app-portieris-tox-py39
|
||||
- openstack-tox-linters
|
||||
- k8sapp-portieris-tox-py39
|
||||
- k8sapp-portieris-tox-pylint
|
||||
post:
|
||||
jobs:
|
||||
- stx-portieris-armada-app-upload-git-mirror
|
||||
|
||||
- job:
|
||||
name: k8app-portieris-tox-py39
|
||||
name: k8sapp-portieris-tox-py39
|
||||
parent: tox-py39
|
||||
description: |
|
||||
Run py39 test for portieris
|
||||
@ -26,12 +26,29 @@
|
||||
- starlingx/update
|
||||
- starlingx/utilities
|
||||
files:
|
||||
- python-k8app-portieris/*
|
||||
- python3-k8sapp-portieris/*
|
||||
vars:
|
||||
tox_envlist: py39
|
||||
python_version: 3.9
|
||||
tox_extra_args: -c python3-k8sapp-portieris/k8sapp_portieris/tox.ini
|
||||
|
||||
- job:
|
||||
name: k8sapp-portieris-tox-pylint
|
||||
parent: tox
|
||||
description: |
|
||||
Run pylint test for k8sapp_portieris
|
||||
nodeset: debian-bullseye
|
||||
required-projects:
|
||||
- starlingx/config
|
||||
- starlingx/fault
|
||||
- starlingx/update
|
||||
- starlingx/utilities
|
||||
files:
|
||||
- python3-k8sapp-portieris/*
|
||||
vars:
|
||||
tox_envlist: pylint
|
||||
tox_extra_args: -c python3-k8sapp-portieris/k8sapp_portieris/tox.ini
|
||||
|
||||
- job:
|
||||
name: stx-portieris-armada-app-upload-git-mirror
|
||||
parent: upload-git-mirror
|
||||
@ -45,23 +62,6 @@
|
||||
secret: stx-portieris-armada-app-github-secret2
|
||||
pass-to-parent: true
|
||||
|
||||
- job:
|
||||
name: k8sapp-portieris-tox-pylint
|
||||
parent: tox
|
||||
description: |
|
||||
Run pylint test for k8sapp_portieris
|
||||
nodeset: ubuntu-bionic
|
||||
required-projects:
|
||||
- starlingx/config
|
||||
- starlingx/fault
|
||||
- starlingx/update
|
||||
- starlingx/utilities
|
||||
files:
|
||||
- python3-k8sapp-portieris/*
|
||||
vars:
|
||||
tox_envlist: pylint
|
||||
tox_extra_args: -c python3-k8sapp-portieris/k8sapp_portieris/tox.ini
|
||||
|
||||
- secret:
|
||||
name: stx-portieris-armada-app-github-secret2
|
||||
data:
|
||||
|
@ -58,7 +58,7 @@ class PortierisAppLifecycleOperator(base.AppLifecycleOperator):
|
||||
context, conductor_obj, app_op, app, hook_info
|
||||
)
|
||||
|
||||
def post_apply(self, app_op, app, hook_info):
|
||||
def post_apply(self, app_op, app, hook_info): # pylint: disable=unused-argument
|
||||
"""Pre Apply actions
|
||||
|
||||
Creates the local registry secret and migrates helm user overrides
|
||||
|
@ -6,16 +6,19 @@
|
||||
|
||||
from k8sapp_portieris.common import constants
|
||||
from sysinv.tests.db import base as dbbase
|
||||
from sysinv.tests.helm.test_helm import HelmOperatorTestSuiteMixin
|
||||
|
||||
|
||||
class K8SAppPortierisAppMixin(object):
|
||||
app_name = constants.HELM_APP_PORTIERIS
|
||||
path_name = app_name + '.tgz'
|
||||
|
||||
def setUp(self):
|
||||
def setUp(self): # pylint: disable=useless-parent-delegation
|
||||
super(K8SAppPortierisAppMixin, self).setUp()
|
||||
|
||||
def test_stub(self):
|
||||
# Replace this with a real unit test.
|
||||
pass
|
||||
|
||||
|
||||
# Test Configuration:
|
||||
# - Controller
|
||||
@ -25,7 +28,6 @@ class K8SAppPortierisAppMixin(object):
|
||||
class K8sAppPortierisControllerTestCase(K8SAppPortierisAppMixin,
|
||||
dbbase.BaseIPv6Mixin,
|
||||
dbbase.BaseCephStorageBackendMixin,
|
||||
HelmOperatorTestSuiteMixin,
|
||||
dbbase.ControllerHostTestCase):
|
||||
pass
|
||||
|
||||
@ -37,6 +39,5 @@ class K8sAppPortierisControllerTestCase(K8SAppPortierisAppMixin,
|
||||
# - portieris app
|
||||
class K8SAppPortierisAIOTestCase(K8SAppPortierisAppMixin,
|
||||
dbbase.BaseCephStorageBackendMixin,
|
||||
HelmOperatorTestSuiteMixin,
|
||||
dbbase.AIOSimplexHostTestCase):
|
||||
pass
|
||||
|
@ -7,7 +7,7 @@ rcfile=pylint.rc
|
||||
#init-hook=
|
||||
|
||||
# Add files or directories to the blacklist. Should be base names, not paths.
|
||||
ignore=tests
|
||||
ignore=
|
||||
|
||||
# Pickle collected data for later comparisons.
|
||||
persistent=yes
|
||||
@ -34,87 +34,6 @@ extension-pkg-whitelist=lxml.etree,greenlet
|
||||
# Enable the message, report, category or checker with the given id(s). You can
|
||||
# either give multiple identifier separated by comma (,) or put this option
|
||||
# multiple time.
|
||||
#
|
||||
# Python3 checker:
|
||||
#
|
||||
# E1601: print-statement
|
||||
# E1602: parameter-unpacking
|
||||
# E1603: unpacking-in-except
|
||||
# E1604: old-raise-syntax
|
||||
# E1605: backtick
|
||||
# E1606: long-suffix
|
||||
# E1607: old-ne-operator
|
||||
# E1608: old-octal-literal
|
||||
# E1609: import-star-module-level
|
||||
# E1610: non-ascii-bytes-literal
|
||||
# E1611: invalid-unicode-literal
|
||||
# W1601: apply-builtin
|
||||
# W1602: basestring-builtin
|
||||
# W1603: buffer-builtin
|
||||
# W1604: cmp-builtin
|
||||
# W1605: coerce-builtin
|
||||
# W1606: execfile-builtin
|
||||
# W1607: file-builtin
|
||||
# W1608: long-builtin
|
||||
# W1609: raw_input-builtin
|
||||
# W1610: reduce-builtin
|
||||
# W1611: standarderror-builtin
|
||||
# W1612: unicode-builtin
|
||||
# W1613: xrange-builtin
|
||||
# W1614: coerce-method
|
||||
# W1615: delslice-method
|
||||
# W1616: getslice-method
|
||||
# W1617: setslice-method
|
||||
# W1618: no-absolute-import
|
||||
# W1619: old-division
|
||||
# W1620: dict-iter-method
|
||||
# W1621: dict-view-method
|
||||
# W1622: next-method-called
|
||||
# W1623: metaclass-assignment
|
||||
# W1624: indexing-exception
|
||||
# W1625: raising-string
|
||||
# W1626: reload-builtin
|
||||
# W1627: oct-method
|
||||
# W1628: hex-method
|
||||
# W1629: nonzero-method
|
||||
# W1630: cmp-method
|
||||
# W1632: input-builtin
|
||||
# W1633: round-builtin
|
||||
# W1634: intern-builtin
|
||||
# W1635: unichr-builtin
|
||||
# W1636: map-builtin-not-iterating
|
||||
# W1637: zip-builtin-not-iterating
|
||||
# W1638: range-builtin-not-iterating
|
||||
# W1639: filter-builtin-not-iterating
|
||||
# W1640: using-cmp-argument
|
||||
# W1641: eq-without-hash
|
||||
# W1642: div-method
|
||||
# W1643: idiv-method
|
||||
# W1644: rdiv-method
|
||||
# W1645: exception-message-attribute
|
||||
# W1646: invalid-str-codec
|
||||
# W1647: sys-max-int
|
||||
# W1648: bad-python3-import
|
||||
# W1649: deprecated-string-function
|
||||
# W1650: deprecated-str-translate-call
|
||||
# W1651: deprecated-itertools-function
|
||||
# W1652: deprecated-types-field
|
||||
# W1653: next-method-defined
|
||||
# W1654: dict-items-not-iterating
|
||||
# W1655: dict-keys-not-iterating
|
||||
# W1656: dict-values-not-iterating
|
||||
# W1657: deprecated-operator-function
|
||||
# W1658: deprecated-urllib-function
|
||||
# W1659: xreadlines-attribute
|
||||
# W1660: deprecated-sys-function
|
||||
# W1661: exception-escape
|
||||
# W1662: comprehension-escape
|
||||
enable=E1603,E1609,E1610,E1602,E1606,E1608,E1607,E1605,E1604,E1601,E1611,W1652,
|
||||
W1651,W1649,W1657,W1660,W1658,W1659,W1623,W1622,W1620,W1621,W1645,W1641,
|
||||
W1624,W1648,W1625,W1611,W1662,W1661,W1650,W1640,W1630,W1614,W1615,W1642,
|
||||
W1616,W1628,W1643,W1629,W1627,W1644,W1617,W1601,W1602,W1603,W1604,W1605,
|
||||
W1654,W1655,W1656,W1619,W1606,W1607,W1639,W1618,W1632,W1634,W1608,W1636,
|
||||
W1653,W1646,W1638,W1609,W1610,W1626,W1633,W1647,W1635,W1612,W1613,W1637
|
||||
|
||||
# Disable the message, report, category or checker with the given id(s). You
|
||||
# can either give multiple identifier separated by comma (,) or put this option
|
||||
@ -133,11 +52,6 @@ disable=C, R, W0212, W1618
|
||||
# (visual studio) and html
|
||||
output-format=text
|
||||
|
||||
# Put messages in a separate file for each module / package specified on the
|
||||
# command line instead of printing them on stdout. Reports (if any) will be
|
||||
# written in a file name "pylint_global.[txt|html]".
|
||||
files-output=no
|
||||
|
||||
# Tells whether to display a full report or only the messages
|
||||
reports=yes
|
||||
|
||||
@ -196,9 +110,6 @@ generated-members=REQUEST,acl_users,aq_parent
|
||||
|
||||
|
||||
[BASIC]
|
||||
# List of builtins function names that should not be used, separated by a comma
|
||||
bad-functions=map,filter,apply,input
|
||||
|
||||
# Regular expression which should only match correct module names
|
||||
module-rgx=(([a-z_][a-z0-9_]*)|([A-Z][a-zA-Z0-9]+))$
|
||||
|
||||
@ -288,7 +199,7 @@ max-locals=15
|
||||
max-returns=6
|
||||
|
||||
# Maximum number of branch for function / method body
|
||||
max-branchs=12
|
||||
max-branches=12
|
||||
|
||||
# Maximum number of statements in function / method body
|
||||
max-statements=50
|
||||
@ -317,4 +228,4 @@ valid-classmethod-first-arg=cls
|
||||
[EXCEPTIONS]
|
||||
# Exceptions that will emit a warning when being caught. Defaults to
|
||||
# "Exception"
|
||||
overgeneral-exceptions=Exception
|
||||
overgeneral-exceptions=builtins.Exception
|
||||
|
@ -2,8 +2,6 @@
|
||||
# of appearance. Changing the order has an impact on the overall integration
|
||||
# process, which may cause wedges in the gate later.
|
||||
hacking>=1.1.0,<=2.0.0 # Apache-2.0
|
||||
flake8<3.8.0
|
||||
pycodestyle<2.6.0 # MIT License
|
||||
coverage>=3.6
|
||||
discover
|
||||
mock>=2.0.0 # BSD
|
||||
@ -13,10 +11,12 @@ python-subunit>=0.0.18
|
||||
requests-mock>=0.6.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
|
||||
ipaddr
|
||||
pytest
|
||||
pyudev
|
||||
migrate
|
||||
markupsafe
|
||||
bandit
|
||||
flake8-bugbear
|
||||
pylint
|
||||
|
@ -1,8 +1,6 @@
|
||||
[tox]
|
||||
envlist = flake8,py27,py36,py39,pylint,bandit
|
||||
minversion = 1.6
|
||||
# skipsdist = True
|
||||
#,pip-missing-reqs
|
||||
envlist = flake8,py39,pylint,bandit,cover
|
||||
minversion = 2.3
|
||||
|
||||
# tox does not work if the path to the workdir is too long, so move it to /tmp
|
||||
toxworkdir = /tmp/{env:USER}_k8sportieristox
|
||||
@ -10,19 +8,14 @@ stxdir = {toxinidir}/../../..
|
||||
distshare={toxworkdir}/.tox/distshare
|
||||
|
||||
[testenv]
|
||||
# usedevelop = True
|
||||
# enabling usedevelop results in py27 develop-inst:
|
||||
# Exception: Versioning for this project requires either an sdist tarball,
|
||||
# or access to an upstream git repository.
|
||||
sitepackages = False
|
||||
|
||||
# tox is silly... these need to be separated by a newline....
|
||||
allowlist_externals = bash
|
||||
find
|
||||
basepython = python3
|
||||
sitepackages = False
|
||||
|
||||
install_command = pip install -v -v -v \
|
||||
-c{toxinidir}/upper-constraints.txt \
|
||||
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/stable/stein/upper-constraints.txt} \
|
||||
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/starlingx/root/raw/branch/master/build-tools/requirements/debian/upper-constraints.txt} \
|
||||
{opts} {packages}
|
||||
|
||||
# Note the hash seed is set to 0 until can be tested with a
|
||||
@ -47,7 +40,7 @@ deps = -r{toxinidir}/requirements.txt
|
||||
-e{[tox]stxdir}/fault/fm-api/source
|
||||
-e{[tox]stxdir}/fault/python-fmclient/fmclient
|
||||
-e{[tox]stxdir}/utilities/ceph/python-cephclient/python-cephclient
|
||||
-e{[tox]stxdir}/update/cgcs-patch/cgcs-patch
|
||||
-e{[tox]stxdir}/update/sw-patch/cgcs-patch
|
||||
|
||||
|
||||
commands =
|
||||
@ -58,40 +51,18 @@ exclude = build,dist,tools,.eggs
|
||||
max-line-length=120
|
||||
|
||||
[testenv:flake8]
|
||||
basepython = python3
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
flake8-bugbear
|
||||
commands =
|
||||
flake8 {posargs} .
|
||||
|
||||
[testenv:py27]
|
||||
basepython = python2.7
|
||||
commands =
|
||||
{[testenv]commands}
|
||||
stestr run {posargs}
|
||||
stestr slowest
|
||||
|
||||
[testenv:py39]
|
||||
basepython = python3.9
|
||||
install_command = pip install -v -v -v \
|
||||
-c{toxinidir}/upper-constraints.txt \
|
||||
-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:py36]
|
||||
basepython = python3.6
|
||||
commands =
|
||||
{[testenv]commands}
|
||||
stestr run {posargs}
|
||||
stestr slowest
|
||||
|
||||
[testenv:pep8]
|
||||
# testenv:flake8 clone
|
||||
basepython = {[testenv:flake8]basepython}
|
||||
deps = {[testenv:flake8]deps}
|
||||
commands = {[testenv:flake8]commands}
|
||||
|
||||
@ -99,25 +70,18 @@ commands = {[testenv:flake8]commands}
|
||||
commands = {posargs}
|
||||
|
||||
[bandit]
|
||||
# Add bandit configuration here
|
||||
|
||||
[testenv:bandit]
|
||||
basepython = python3
|
||||
deps = -r{toxinidir}/test-requirements.txt
|
||||
bandit
|
||||
|
||||
commands = bandit --ini tox.ini -n 5 -r k8sapp_portieris
|
||||
|
||||
[testenv:pylint]
|
||||
basepython = python3
|
||||
sitepackages = False
|
||||
# If this target is run on python3.8 or later, the install_command needs the debian upper-constaints
|
||||
deps = {[testenv]deps}
|
||||
pylint
|
||||
commands =
|
||||
pylint {posargs} k8sapp_portieris --rcfile=./pylint.rc
|
||||
|
||||
[testenv:cover]
|
||||
basepython = python2.7
|
||||
deps = {[testenv]deps}
|
||||
setenv = {[testenv]setenv}
|
||||
PYTHON=coverage run --parallel-mode
|
||||
|
Loading…
x
Reference in New Issue
Block a user