Browse Source

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
changes/02/807202/13
Bernardo Decco 9 months ago committed by Fabricio Henrique Ramos
parent
commit
a7f3a058fe
  1. 18
      .zuul.yaml
  2. 87
      python-k8sapp-openstack/k8sapp_openstack/pylint.rc
  3. 4
      tox.ini

18
.zuul.yaml

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

87
python-k8sapp-openstack/k8sapp_openstack/pylint.rc

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

4
tox.ini

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

Loading…
Cancel
Save