Browse Source

[ussuri][goal] Drop python 2.7 support and testing

OpenStack is dropping the py2.7 support in ussuri cycle.

Complete discussion & schedule can be found in
- http://lists.openstack.org/pipermail/openstack-discuss/2019-October/010142.html
- https://etherpad.openstack.org/p/drop-python2-support

Ussuri Communtiy-wide goal:
https://governance.openstack.org/tc/goals/selected/ussuri/drop-py27.html

Switch to using modern sphinx-build.
Remove cruft from setup.cfg

Drop non-voting jobs from gate queue.

Change-Id: I2cc764bd3de8130aa25868b57b2e89341c71617e
changes/24/705524/3 3.0.0
Andreas Jaeger 3 years ago
parent
commit
7eaa8648cd
  1. 6
      .zuul.yaml
  2. 1
      lower-constraints.txt
  3. 5
      releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml
  4. 18
      setup.cfg
  5. 10
      setup.py
  6. 3
      test-requirements.txt
  7. 24
      tox.ini

6
.zuul.yaml

@ -1,27 +1,21 @@
- project:
templates:
- check-requirements
- lib-forward-testing
- lib-forward-testing-python3
- openstack-cover-jobs
- openstack-lower-constraints-jobs
- openstack-python-jobs
- openstack-python3-ussuri-jobs
- periodic-stable-jobs
- publish-openstack-docs-pti
- release-notes-jobs-python3
check:
jobs:
- openstack-tox-functional
- openstack-tox-functional-py36
- tempest-smoke-py3-osprofiler-redis
- tempest-smoke-py3-osprofiler-sqlalchemy
gate:
jobs:
- openstack-tox-functional
- openstack-tox-functional-py36
- tempest-smoke-py3-osprofiler-redis
- tempest-smoke-py3-osprofiler-sqlalchemy
- job:
name: tempest-smoke-py3-osprofiler-redis

1
lower-constraints.txt

@ -2,7 +2,6 @@ coverage===4.0
ddt===1.0.1
dulwich===0.15.0
elasticsearch===2.0.0
futures===3.0.0
jaeger-client==3.8.0
mock===2.0.0
netaddr===0.7.18

5
releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml

@ -0,0 +1,5 @@
---
upgrade:
- |
Python 2.7 support has been dropped. The minimum version of Python now
supported by osprofiler is Python 3.6.

18
setup.cfg

@ -6,6 +6,7 @@ description-file =
author = OpenStack
author-email = openstack-discuss@lists.openstack.org
home-page = https://docs.openstack.org/osprofiler/latest/
python-requires = >=3.6
classifier =
Environment :: OpenStack
Intended Audience :: Developers
@ -13,30 +14,20 @@ 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
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: Implementation :: CPython
[files]
packages =
osprofiler
[global]
setup-hooks =
pbr.hooks.setup_hook
[extras]
oslo_config =
oslo.config>=5.2.0 # Apache-2.0
[build_sphinx]
all_files = 1
build-dir = doc/build
source-dir = doc/source
warning-is-error = 1
[entry_points]
oslo.config.opts =
osprofiler = osprofiler.opts:list_opts
@ -44,6 +35,3 @@ console_scripts =
osprofiler = osprofiler.cmd.shell:main
paste.filter_factory =
osprofiler = osprofiler.web:WsgiMiddleware.factory
[wheel]
universal = 1

10
setup.py

@ -14,14 +14,6 @@
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools
# In python < 2.7.4, a lazy loading of package `pbr` will break
# setuptools if some other modules registered functions in `atexit`.
# solution from: http://bugs.python.org/issue15881#msg170215
try:
import multiprocessing # noqa
except ImportError:
pass
setuptools.setup(
setup_requires=['pbr>=1.8'],
setup_requires=['pbr>=2.0'],
pbr=True)

3
test-requirements.txt

@ -1,4 +1,4 @@
hacking>=0.12.0,!=0.13.0,<0.14 # Apache-2.0
hacking>=2.0,<=2.1 # Apache-2.0
coverage>=4.0 # Apache-2.0
ddt>=1.0.1 # MIT
@ -25,4 +25,3 @@ reno>=2.5.0 # Apache-2.0
# For Jaeger Tracing
jaeger-client>=3.8.0 # Apache-2.0
futures>=3.0.0;python_version=='2.7' or python_version=='2.6' # PSF

24
tox.ini

@ -1,9 +1,12 @@
[tox]
minversion = 2.0
skipsdist = True
envlist = py27,py37,pep8
minversion = 3.1.0
# Needed to create ChangeLog for docs building
skipsdist = False
envlist = py37,pep8
ignore_basepython_conflict = True
[testenv]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
LANG=en_US.UTF-8
LANGUAGE=en_US:en
@ -12,13 +15,11 @@ deps =
-c{env:UPPER_CONSTRAINTS_FILE:https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt}
-r{toxinidir}/requirements.txt
-r{toxinidir}/test-requirements.txt
install_command = pip install -U {opts} {packages}
usedevelop = True
commands = stestr run --slowest {posargs}
distribute = false
[testenv:functional]
basepython = python2.7
setenv = {[testenv]setenv}
OS_TEST_PATH=./osprofiler/tests/functional
deps =
@ -28,10 +29,10 @@ deps =
[testenv:functional-py36]
basepython = python3.6
setenv = {[testenv:functional]setenv}
deps = {[testenv:functional]deps}
deps =
{[testenv:functional]deps}
[testenv:pep8]
basepython = python3
commands =
flake8
# Run security linter
@ -39,11 +40,9 @@ commands =
distribute = false
[testenv:venv]
basepython = python3
commands = {posargs}
[testenv:cover]
basepython = python3
setenv =
PYTHON=coverage run --source osprofiler --parallel-mode
commands =
@ -53,11 +52,10 @@ commands =
coverage xml -o cover/coverage.xml
[testenv:docs]
basepython = python3
commands = python setup.py build_sphinx
commands =
sphinx-build -W --keep-going -b html -d doc/build/doctrees doc/source doc/build/html
[testenv:bandit]
basepython = python3
commands = bandit -r osprofiler -n5
[flake8]
@ -69,11 +67,9 @@ exclude=.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,setup.py,build,releasen
local-check-factory = osprofiler.hacking.checks.factory
[testenv:releasenotes]
basepython = python3
commands = sphinx-build -a -E -W -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html
[testenv:lower-constraints]
basepython = python3
deps =
-c{toxinidir}/lower-constraints.txt
-r{toxinidir}/test-requirements.txt

Loading…
Cancel
Save