From ecff5ec771f1bc7984f214c0b4b5526eadcb85d3 Mon Sep 17 00:00:00 2001 From: Brian Rosmaita Date: Wed, 4 Dec 2019 16:24:05 -0500 Subject: [PATCH] Remove Python 2.7 support from testing and gates Makes Python 3 the base python for all tox venvs and removes py2 jobs from zuul.yaml. Remaining: - move the legacy gate jobs from openstack-zuul-jobs to the os-brick repo and make them py3 jobs - adjust setup.cfg to require py3 and remove py2 requirements from test-requirements.txt and doc/requirements.txt Partial-bug: #1853372 Change-Id: Ib447656aa213914bafd50380b3821090f93776f8 --- .zuul.yaml | 2 -- .../notes/drop-py2-7dcde3ccd0e167b0.yaml | 6 +++++ setup.cfg | 2 -- tox.ini | 23 ++++++++----------- 4 files changed, 15 insertions(+), 18 deletions(-) create mode 100644 releasenotes/notes/drop-py2-7dcde3ccd0e167b0.yaml diff --git a/.zuul.yaml b/.zuul.yaml index f9e8a9687..802268847 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -1,10 +1,8 @@ - project: templates: - check-requirements - - lib-forward-testing - lib-forward-testing-python3 - openstack-lower-constraints-jobs - - openstack-python-jobs - openstack-python3-ussuri-jobs - publish-openstack-docs-pti - release-notes-jobs-python3 diff --git a/releasenotes/notes/drop-py2-7dcde3ccd0e167b0.yaml b/releasenotes/notes/drop-py2-7dcde3ccd0e167b0.yaml new file mode 100644 index 000000000..d7efb3496 --- /dev/null +++ b/releasenotes/notes/drop-py2-7dcde3ccd0e167b0.yaml @@ -0,0 +1,6 @@ +--- +upgrade: + - | + Python 2.7 support has been dropped. Beginning with os-brick + release 3.0.0, the minimum version of Python supported by + os-brick is Python 3.6. diff --git a/setup.cfg b/setup.cfg index 090f90477..4dcf1ec9a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -13,8 +13,6 @@ classifier = License :: OSI Approved :: Apache Software License Operating System :: POSIX :: Linux Programming Language :: Python - Programming Language :: Python :: 2 - Programming Language :: Python :: 2.7 Programming Language :: Python :: 3 Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.7 diff --git a/tox.ini b/tox.ini index b59a8b61d..14b421871 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,15 @@ [tox] -minversion = 2.0 -envlist = py27,py37,pep8 +minversion = 3.1.0 skipsdist = True +skip_missing_interpreters = true +# python runtimes: https://governance.openstack.org/tc/reference/runtimes/ussuri.html +envlist = py37,py36,pep8 +# this allows tox to infer the base python from the environment name +# and override any basepython configured in this file +ignore_basepython_conflict=true [testenv] +basepython = python3 usedevelop = True setenv = VIRTUAL_ENV={envdir} @@ -21,7 +27,7 @@ deps = # By default stestr will set concurrency # to ncpu, to specify something else use # the concurrency= option. -# call ie: 'tox -epy27 -- --concurrency=4' +# call example: 'tox -epy37 -- --concurrency=4' commands = stestr run {posargs} stestr slowest @@ -31,23 +37,19 @@ whitelist_externals = bash passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY [testenv:debug] -basepython = python3 commands = find . -type f -name "*.pyc" -delete oslo_debug_helper {posargs} [testenv:pep8] -basepython = python3 commands = flake8 {posargs} [testenv:fast8] -basepython = python3 envdir = {toxworkdir}/pep8 commands = {toxinidir}/tools/fast8.sh [testenv:pylint] -basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/requirements.txt @@ -55,11 +57,9 @@ deps = commands = bash tools/lintstack.sh [testenv:venv] -basepython = python3 commands = {posargs} [testenv:cover] -basepython = python3 # To see the report of missing coverage add to commands # coverage report --show-missing setenv = @@ -72,7 +72,6 @@ commands = coverage xml -o cover/coverage/xml [testenv:docs] -basepython = python3 deps = -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} -r{toxinidir}/doc/requirements.txt @@ -83,7 +82,6 @@ whitelist_externals = rm [testenv:pdf-docs] -basepython = python3 deps = {[testenv:docs]deps} commands = {[testenv:docs]commands} sphinx-build -W -b latex doc/source doc/build/pdf @@ -92,7 +90,6 @@ whitelist_externals = make [testenv:releasenotes] -basepython = python3 commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html [flake8] @@ -119,7 +116,6 @@ max-complexity=30 import_exceptions = os_brick.i18n [testenv:bindep] -basepython = python3 # Do not install any requirements. We want this to be fast and work even if # system dependencies are missing, since it's used to tell you what system # dependencies are missing! This also means that bindep must be installed @@ -131,7 +127,6 @@ commands = bindep test usedevelop = False [testenv:lower-constraints] -basepython = python3 deps = -c{toxinidir}/lower-constraints.txt -r{toxinidir}/test-requirements.txt