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

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

Tempest is ready with python 3 and ok to drop the
python 2.7 support. Last Tempest version officially supported
for py2.7 is 23.0.0.

Now onwards, Tempest will test all stable branch with py3 jobs.
tempest-full and other py2 version of jobs definition are kept
for stable branch gate.

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

Change-Id: I75868d5c9b6630fe78958ff89e58a0aced09a6b3
This commit is contained in:
Ghanshyam Mann 2020-02-04 09:04:30 -06:00
parent fbde5a3948
commit 551e8d7a59
7 changed files with 32 additions and 53 deletions

View File

@ -100,6 +100,7 @@
devstack_localrc: devstack_localrc:
ENABLE_FILE_INJECTION: true ENABLE_FILE_INJECTION: true
ENABLE_VOLUME_MULTIATTACH: true ENABLE_VOLUME_MULTIATTACH: true
USE_PYTHON3: False
devstack_services: devstack_services:
# NOTE(mriedem): Disable the cinder-backup service from tempest-full # NOTE(mriedem): Disable the cinder-backup service from tempest-full
# since tempest-full is in the integrated-gate project template but # since tempest-full is in the integrated-gate project template but
@ -138,6 +139,9 @@
- opendev.org/openstack/oslo.utils - opendev.org/openstack/oslo.utils
- opendev.org/openstack/oslo.versionedobjects - opendev.org/openstack/oslo.versionedobjects
- opendev.org/openstack/oslo.vmware - opendev.org/openstack/oslo.vmware
vars:
devstack_localrc:
USE_PYTHON3: True
- job: - job:
name: tempest-full-parallel name: tempest-full-parallel
@ -146,11 +150,13 @@
branches: branches:
- master - master
description: | description: |
Base integration test with Neutron networking and py27. Base integration test with Neutron networking.
It includes all scenarios as it was in the past. It includes all scenarios as it was in the past.
This job runs all scenario tests in parallel! This job runs all scenario tests in parallel!
vars: vars:
tox_envlist: full-parallel tox_envlist: full-parallel
devstack_localrc:
USE_PYTHON3: True
- job: - job:
name: tempest-full-py3 name: tempest-full-py3
@ -345,6 +351,13 @@
- stable/pike - stable/pike
- stable/queens - stable/queens
- stable/rocky - stable/rocky
vars:
devstack_localrc:
USE_PYTHON3: False
group-vars:
subnode:
devstack_localrc:
USE_PYTHON3: False
- job: - job:
name: tempest-multinode-full-py3 name: tempest-multinode-full-py3
@ -425,32 +438,16 @@
devstack_localrc: devstack_localrc:
USE_PYTHON3: true USE_PYTHON3: true
- job:
name: tempest-full-train
parent: tempest-full
override-checkout: stable/train
- job: - job:
name: tempest-full-train-py3 name: tempest-full-train-py3
parent: tempest-full-py3 parent: tempest-full-py3
override-checkout: stable/train override-checkout: stable/train
- job:
name: tempest-full-stein
parent: tempest-full
override-checkout: stable/stein
- job: - job:
name: tempest-full-stein-py3 name: tempest-full-stein-py3
parent: tempest-full-py3 parent: tempest-full-py3
override-checkout: stable/stein override-checkout: stable/stein
- job:
name: tempest-full-rocky
parent: tempest-full
nodeset: openstack-single-node-xenial
override-checkout: stable/rocky
- job: - job:
name: tempest-full-rocky-py3 name: tempest-full-rocky-py3
parent: tempest-full-py3 parent: tempest-full-py3
@ -511,12 +508,13 @@
name: tempest-pg-full name: tempest-pg-full
parent: tempest-full parent: tempest-full
description: | description: |
Base integration test with Neutron networking and py27 and PostgreSQL. Base integration test with Neutron networking and PostgreSQL.
Former name for this job was legacy-tempest-dsvm-neutron-pg-full. Former name for this job was legacy-tempest-dsvm-neutron-pg-full.
vars: vars:
devstack_localrc: devstack_localrc:
ENABLE_FILE_INJECTION: true ENABLE_FILE_INJECTION: true
DATABASE_TYPE: postgresql DATABASE_TYPE: postgresql
USE_PYTHON3: True
- project-template: - project-template:
name: integrated-gate-networking name: integrated-gate-networking
@ -600,10 +598,9 @@
- project: - project:
templates: templates:
- check-requirements - check-requirements
- integrated-gate
- integrated-gate-py3 - integrated-gate-py3
- openstack-cover-jobs - openstack-cover-jobs
- openstack-python3-train-jobs - openstack-python3-ussuri-jobs
- publish-openstack-docs-pti - publish-openstack-docs-pti
- release-notes-jobs-python3 - release-notes-jobs-python3
check: check:
@ -639,22 +636,13 @@
- tempest-full-py3-ipv6: - tempest-full-py3-ipv6:
voting: false voting: false
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full-train:
irrelevant-files: *tempest-irrelevant-files
- tempest-full-train-py3: - tempest-full-train-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full-stein:
irrelevant-files: *tempest-irrelevant-files
- tempest-full-stein-py3: - tempest-full-stein-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full-rocky:
irrelevant-files: *tempest-irrelevant-files
voting: false
- tempest-full-rocky-py3: - tempest-full-rocky-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
voting: false voting: false
- tempest-multinode-full:
irrelevant-files: *tempest-irrelevant-files
- tempest-multinode-full-py3: - tempest-multinode-full-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-tox-plugin-sanity-check: - tempest-tox-plugin-sanity-check:
@ -673,8 +661,6 @@
# tools/ is not here since this relies on a script in tools/. # tools/ is not here since this relies on a script in tools/.
- tempest-ipv6-only: - tempest-ipv6-only:
irrelevant-files: *tempest-irrelevant-files-2 irrelevant-files: *tempest-irrelevant-files-2
- tempest-slow:
irrelevant-files: *tempest-irrelevant-files
- tempest-slow-py3: - tempest-slow-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- nova-live-migration: - nova-live-migration:
@ -701,8 +687,6 @@
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- neutron-tempest-dvr: - neutron-tempest-dvr:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full:
irrelevant-files: *tempest-irrelevant-files
- interop-tempest-consistency: - interop-tempest-consistency:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full-test-account-py3: - tempest-full-test-account-py3:
@ -719,7 +703,7 @@
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- neutron-grenade-multinode: - neutron-grenade-multinode:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- tempest-full: - tempest-full-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
- grenade-py3: - grenade-py3:
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
@ -747,11 +731,8 @@
irrelevant-files: *tempest-irrelevant-files irrelevant-files: *tempest-irrelevant-files
periodic-stable: periodic-stable:
jobs: jobs:
- tempest-full-train
- tempest-full-train-py3 - tempest-full-train-py3
- tempest-full-stein
- tempest-full-stein-py3 - tempest-full-stein-py3
- tempest-full-rocky
- tempest-full-rocky-py3 - tempest-full-rocky-py3
periodic: periodic:
jobs: jobs:

View File

@ -3,6 +3,5 @@
# process, which may cause wedges in the gate later. # process, which may cause wedges in the gate later.
openstackdocstheme>=1.20.0 # Apache-2.0 openstackdocstheme>=1.20.0 # Apache-2.0
reno>=2.5.0 # Apache-2.0 reno>=2.5.0 # Apache-2.0
sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2 # BSD
sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD

View File

@ -1,7 +1,7 @@
Supported OpenStack Releases and Python Versions Supported OpenStack Releases and Python Versions
================================================ ================================================
This Document list the officially supported OpenStack releases This document lists the officially supported OpenStack releases
and python versions by Tempest. and python versions by Tempest.
Compatible OpenStack Releases Compatible OpenStack Releases
@ -24,13 +24,13 @@ For example: OpenStack Stein: Tempest 20.0.0
* https://releases.openstack.org/stein/index.html#stein-tempest * https://releases.openstack.org/stein/index.html#stein-tempest
How to use Tempest tag on Extended Maintenance stable branch: How to use Tempest tag on Extended Maintenance stable branch:
* https://review.opendev.org/#/c/681950/
* https://review.opendev.org/#/c/705098/
Supported Python Versions Supported Python Versions
------------------------- -------------------------
Tempest master supports the below python versions: Tempest master supports the below python versions:
* Python 2.7
* Python 3.6 * Python 3.6
* Python 3.7 * Python 3.7

View File

@ -0,0 +1,6 @@
---
upgrade:
- |
Python 2.7 support has been dropped. Last release of Tempest
to support python 2.7 is Temepst 23.0.0. The minimum version of Python now
supported by Tempest is Python 3.6.

View File

@ -6,6 +6,7 @@ description-file =
author = OpenStack author = OpenStack
author-email = openstack-discuss@lists.openstack.org author-email = openstack-discuss@lists.openstack.org
home-page = https://docs.openstack.org/tempest/latest/ home-page = https://docs.openstack.org/tempest/latest/
requires-python = >=3.6
classifier = classifier =
Intended Audience :: Information Technology Intended Audience :: Information Technology
Intended Audience :: System Administrators Intended Audience :: System Administrators
@ -13,11 +14,11 @@ classifier =
License :: OSI Approved :: Apache Software License License :: OSI Approved :: Apache Software License
Operating System :: POSIX :: Linux Operating System :: POSIX :: Linux
Programming Language :: Python Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3 Programming Language :: Python :: 3
Programming Language :: Python :: 3.6 Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.7
Programming Language :: Python :: 3 :: Only
Programming Language :: Python :: Implementation :: CPython
[files] [files]
packages = packages =

View File

@ -16,14 +16,6 @@
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT # THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
import setuptools 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( setuptools.setup(
setup_requires=['pbr>=2.0.0'], setup_requires=['pbr>=2.0.0'],
pbr=True) pbr=True)

View File

@ -1,5 +1,5 @@
[tox] [tox]
envlist = pep8,py36,py37,py27,bashate,pip-check-reqs envlist = pep8,py36,py37,bashate,pip-check-reqs
minversion = 3.1.1 minversion = 3.1.1
skipsdist = True skipsdist = True
ignore_basepython_conflict = True ignore_basepython_conflict = True