Add pylint py3 portability checks for the k8sapp_snmp

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.

Story: 2006796
Task: 43208

Signed-off-by: Bernardo Decco <bernardo.deccodesiqueira@windriver.com>
Change-Id: I6505bb489049f8666bfb97788353ecc77e74ddf5
This commit is contained in:
Bernardo Decco 2021-09-04 14:15:03 -03:00
parent 75694acecc
commit 386b5daa15
4 changed files with 118 additions and 5 deletions

View File

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

View File

@ -34,7 +34,88 @@ 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,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 +125,17 @@ 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
# E1101: no-member
# W0107: unnecessary-pass
# W0212: protected-access
# W0311: bad-indentation
# W0511: fixme
# W0612: unused-variable
# W0613: unused-argument
# W0703: broad-except
# W1406: redundant-u-string-prefix
# W1618: no-absolute-import
disable=C, R, E1101, W0107, W0212, W0311, W0511, W0612, W0613, W0703, W1406, W1618
[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_snmp
[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