Add pylint py3k portability checks for the vault-armada-app repo

A lot of work has gone into making sure that StarlingX is python3
compatible. To ensure future compatibility, enable the python3
portability checks. Disable the checks that are raising errors.
Another set of commits will address the offending code.

Add following suppress warnings in pylint.rc:
- W1618: no-absolute-import

Story: 2006796
Task: 43225
Signed-off-by: Bernardo Decco <bernardo.deccodesiqueira@windriver.com>
Change-Id: I14bc2f80b707315ed17157cae75407f2bc61088e
This commit is contained in:
Bernardo Decco 2021-09-07 14:58:13 -03:00
parent c83bcff642
commit 92ec55097c
4 changed files with 117 additions and 8 deletions

View File

@ -3,17 +3,19 @@
check:
jobs:
- openstack-tox-linters
- k8app-vault-tox-py39
- k8sapp-vault-tox-py39
- k8sapp-vault-tox-pylint
gate:
jobs:
- openstack-tox-linters
- k8app-vault-tox-py39
- k8sapp-vault-tox-py39
- k8sapp-vault-tox-pylint
post:
jobs:
- stx-vault-armada-app-upload-git-mirror
- job:
name: k8app-vault-tox-py39
name: k8sapp-vault-tox-py39
parent: tox-py39
description: |
Run py39 for vault armada app
@ -42,6 +44,22 @@
secret: stx-vault-armada-app-github-secret
pass-to-parent: true
- job:
name: k8sapp-vault-tox-pylint
parent: tox
description: |
Run pylint test for k8sapp_vault
required-projects:
- starlingx/config
- starlingx/fault
- starlingx/update
- starlingx/utilities
files:
- python-k8sapp-vault/*
vars:
tox_envlist: pylint
tox_extra_args: -c python-k8sapp-vault/k8sapp_vault/tox.ini
- secret:
name: stx-vault-armada-app-github-secret
data:

View File

@ -34,7 +34,87 @@ 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.
#enable=
#
# 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
@ -44,7 +124,14 @@ extension-pkg-whitelist=lxml.etree,greenlet
# https://pylint.readthedocs.io/en/latest/user_guide
# We are disabling (C)onvention
# We are disabling (R)efactor
disable=C, R
# Disable Python3 checkers:
# W0107: unnecessary-pass
# W1406: redundant-u-string-prefix
# W1618: no-absolute-import
# E0401: import-error
# E0602: undefined-variable
# E0611: no-name-in-module
disable=C, R, W0107, W1406, W1618, E0401, E0602, E0611
[REPORTS]
# Set the output format. Available formats are text, parseable, colorized, msvs

View File

@ -21,8 +21,8 @@ sitepackages = False
whitelist_externals = bash
find
install_command = pip install \
-v -v -v --use-deprecated legacy-resolver \
install_command = pip install --use-deprecated legacy-resolver \
-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} \
{opts} {packages}
@ -110,7 +110,7 @@ deps = -r{toxinidir}/test-requirements.txt
commands = bandit --ini tox.ini -n 5 -r k8sapp_vault
[testenv:pylint]
basepython = python2.7
basepython = python3
sitepackages = False
deps = {[testenv]deps}

View File

@ -33,3 +33,7 @@ commands =
[testenv:linters]
commands =
{[testenv:bashate]commands}
[testenv:pylint]
basepython = python3
description = Dummy environment to allow pylint to be run in subdir tox