Add pylint py3 portability checks for the openstack-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
- W1646: invalid-str-codec

Depends-On: https://review.opendev.org/c/starlingx/openstack-armada-app/+/808768
Story: 2006796
Task: 43190
Signed-off-by: Bernardo Decco <bernardo.deccodesiqueira@windriver.com>
Change-Id: Ib46f8a67042c40823ef870773cf7159763738e06
This commit is contained in:
Bernardo Decco 2021-09-02 15:56:56 -03:00 committed by Fabricio Henrique Ramos
parent f0e8b89acf
commit a7f3a058fe
3 changed files with 107 additions and 2 deletions

View File

@ -4,10 +4,12 @@
jobs:
- openstack-tox-linters
- k8sapp-openstack-tox-py39
- k8sapp-openstack-tox-pylint
gate:
jobs:
- openstack-tox-linters
- k8sapp-openstack-tox-py39
- k8sapp-openstack-tox-pylint
post:
jobs:
- stx-openstack-armada-app-upload-git-mirror
@ -41,6 +43,22 @@
- name: git_mirror_credentials
secret: stx-openstack-armada-app-github-secret
pass-to-parent: true
- job:
name: k8sapp-openstack-tox-pylint
parent: tox
description: |
Run pylint tests for k8sapp_oidc
nodeset: ubuntu-bionic
required-projects:
- starlingx/config
- starlingx/fault
- starlingx/update
- starlingx/utilities
files:
- python-k8sapp-openstack/*
vars:
tox_envlist: pylint
tox_extra_args: -c python-k8sapp-openstack/k8sapp_openstack/tox.ini
- secret:
name: stx-openstack-armada-app-github-secret

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 checkers:
#
# 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
@ -89,10 +169,13 @@ extension-pkg-whitelist=lxml.etree,greenlet
# E1102: not-callable
# E1120: no-value-for-parameter
# E1121: too-many-function-args
# Disable Python3 checkers:
# W1618: no-absolute-import
# W1646: invalid-str-codec
disable=C, R, fixme, W0101, W0105, W0106, W0107, W0108, W0110, W0123, W0150,
W0201, W0211, W0212, W0221, W0223, W0231, W0235, W0311, W0402, W0403,
W0404, W0603, W0612, W0613, W0621, W0622, W0631, W0632, W0701, W0703,
W1113, W1201, W1401, W1505,
W1113, W1201, W1401, W1505, W1618, W1646,
E0213, E0401, E0604, E0633, E0701, E1102, E1120, E1121
[REPORTS]

View File

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