Skip to content

Commit 551e8d7

Browse files
committed
[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
1 parent fbde5a3 commit 551e8d7

File tree

7 files changed

+32
-53
lines changed

7 files changed

+32
-53
lines changed

.zuul.yaml

+18-37
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100
devstack_localrc:
101101
ENABLE_FILE_INJECTION: true
102102
ENABLE_VOLUME_MULTIATTACH: true
103+
USE_PYTHON3: False
103104
devstack_services:
104105
# NOTE(mriedem): Disable the cinder-backup service from tempest-full
105106
# since tempest-full is in the integrated-gate project template but
@@ -138,6 +139,9 @@
138139
- opendev.org/openstack/oslo.utils
139140
- opendev.org/openstack/oslo.versionedobjects
140141
- opendev.org/openstack/oslo.vmware
142+
vars:
143+
devstack_localrc:
144+
USE_PYTHON3: True
141145

142146
- job:
143147
name: tempest-full-parallel
@@ -146,11 +150,13 @@
146150
branches:
147151
- master
148152
description: |
149-
Base integration test with Neutron networking and py27.
153+
Base integration test with Neutron networking.
150154
It includes all scenarios as it was in the past.
151155
This job runs all scenario tests in parallel!
152156
vars:
153157
tox_envlist: full-parallel
158+
devstack_localrc:
159+
USE_PYTHON3: True
154160

155161
- job:
156162
name: tempest-full-py3
@@ -345,6 +351,13 @@
345351
- stable/pike
346352
- stable/queens
347353
- stable/rocky
354+
vars:
355+
devstack_localrc:
356+
USE_PYTHON3: False
357+
group-vars:
358+
subnode:
359+
devstack_localrc:
360+
USE_PYTHON3: False
348361

349362
- job:
350363
name: tempest-multinode-full-py3
@@ -425,32 +438,16 @@
425438
devstack_localrc:
426439
USE_PYTHON3: true
427440

428-
- job:
429-
name: tempest-full-train
430-
parent: tempest-full
431-
override-checkout: stable/train
432-
433441
- job:
434442
name: tempest-full-train-py3
435443
parent: tempest-full-py3
436444
override-checkout: stable/train
437445

438-
- job:
439-
name: tempest-full-stein
440-
parent: tempest-full
441-
override-checkout: stable/stein
442-
443446
- job:
444447
name: tempest-full-stein-py3
445448
parent: tempest-full-py3
446449
override-checkout: stable/stein
447450

448-
- job:
449-
name: tempest-full-rocky
450-
parent: tempest-full
451-
nodeset: openstack-single-node-xenial
452-
override-checkout: stable/rocky
453-
454451
- job:
455452
name: tempest-full-rocky-py3
456453
parent: tempest-full-py3
@@ -511,12 +508,13 @@
511508
name: tempest-pg-full
512509
parent: tempest-full
513510
description: |
514-
Base integration test with Neutron networking and py27 and PostgreSQL.
511+
Base integration test with Neutron networking and PostgreSQL.
515512
Former name for this job was legacy-tempest-dsvm-neutron-pg-full.
516513
vars:
517514
devstack_localrc:
518515
ENABLE_FILE_INJECTION: true
519516
DATABASE_TYPE: postgresql
517+
USE_PYTHON3: True
520518

521519
- project-template:
522520
name: integrated-gate-networking
@@ -600,10 +598,9 @@
600598
- project:
601599
templates:
602600
- check-requirements
603-
- integrated-gate
604601
- integrated-gate-py3
605602
- openstack-cover-jobs
606-
- openstack-python3-train-jobs
603+
- openstack-python3-ussuri-jobs
607604
- publish-openstack-docs-pti
608605
- release-notes-jobs-python3
609606
check:
@@ -639,22 +636,13 @@
639636
- tempest-full-py3-ipv6:
640637
voting: false
641638
irrelevant-files: *tempest-irrelevant-files
642-
- tempest-full-train:
643-
irrelevant-files: *tempest-irrelevant-files
644639
- tempest-full-train-py3:
645640
irrelevant-files: *tempest-irrelevant-files
646-
- tempest-full-stein:
647-
irrelevant-files: *tempest-irrelevant-files
648641
- tempest-full-stein-py3:
649642
irrelevant-files: *tempest-irrelevant-files
650-
- tempest-full-rocky:
651-
irrelevant-files: *tempest-irrelevant-files
652-
voting: false
653643
- tempest-full-rocky-py3:
654644
irrelevant-files: *tempest-irrelevant-files
655645
voting: false
656-
- tempest-multinode-full:
657-
irrelevant-files: *tempest-irrelevant-files
658646
- tempest-multinode-full-py3:
659647
irrelevant-files: *tempest-irrelevant-files
660648
- tempest-tox-plugin-sanity-check:
@@ -673,8 +661,6 @@
673661
# tools/ is not here since this relies on a script in tools/.
674662
- tempest-ipv6-only:
675663
irrelevant-files: *tempest-irrelevant-files-2
676-
- tempest-slow:
677-
irrelevant-files: *tempest-irrelevant-files
678664
- tempest-slow-py3:
679665
irrelevant-files: *tempest-irrelevant-files
680666
- nova-live-migration:
@@ -701,8 +687,6 @@
701687
irrelevant-files: *tempest-irrelevant-files
702688
- neutron-tempest-dvr:
703689
irrelevant-files: *tempest-irrelevant-files
704-
- tempest-full:
705-
irrelevant-files: *tempest-irrelevant-files
706690
- interop-tempest-consistency:
707691
irrelevant-files: *tempest-irrelevant-files
708692
- tempest-full-test-account-py3:
@@ -719,7 +703,7 @@
719703
irrelevant-files: *tempest-irrelevant-files
720704
- neutron-grenade-multinode:
721705
irrelevant-files: *tempest-irrelevant-files
722-
- tempest-full:
706+
- tempest-full-py3:
723707
irrelevant-files: *tempest-irrelevant-files
724708
- grenade-py3:
725709
irrelevant-files: *tempest-irrelevant-files
@@ -747,11 +731,8 @@
747731
irrelevant-files: *tempest-irrelevant-files
748732
periodic-stable:
749733
jobs:
750-
- tempest-full-train
751734
- tempest-full-train-py3
752-
- tempest-full-stein
753735
- tempest-full-stein-py3
754-
- tempest-full-rocky
755736
- tempest-full-rocky-py3
756737
periodic:
757738
jobs:

doc/requirements.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,5 @@
33
# process, which may cause wedges in the gate later.
44
openstackdocstheme>=1.20.0 # Apache-2.0
55
reno>=2.5.0 # Apache-2.0
6-
sphinx!=1.6.6,!=1.6.7,>=1.6.2,<2.0.0;python_version=='2.7' # BSD
7-
sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2;python_version>='3.4' # BSD
6+
sphinx!=1.6.6,!=1.6.7,!=2.1.0,>=1.6.2 # BSD
87
sphinxcontrib-svg2pdfconverter>=0.1.0 # BSD

doc/source/supported_version.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Supported OpenStack Releases and Python Versions
22
================================================
33

4-
This Document list the officially supported OpenStack releases
4+
This document lists the officially supported OpenStack releases
55
and python versions by Tempest.
66

77
Compatible OpenStack Releases
@@ -24,13 +24,13 @@ For example: OpenStack Stein: Tempest 20.0.0
2424
* https://releases.openstack.org/stein/index.html#stein-tempest
2525

2626
How to use Tempest tag on Extended Maintenance stable branch:
27-
* https://review.opendev.org/#/c/681950/
27+
28+
* https://review.opendev.org/#/c/705098/
2829

2930
Supported Python Versions
3031
-------------------------
3132

3233
Tempest master supports the below python versions:
3334

34-
* Python 2.7
3535
* Python 3.6
3636
* Python 3.7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
upgrade:
3+
- |
4+
Python 2.7 support has been dropped. Last release of Tempest
5+
to support python 2.7 is Temepst 23.0.0. The minimum version of Python now
6+
supported by Tempest is Python 3.6.

setup.cfg

+3-2
Original file line numberDiff line numberDiff line change
@@ -6,18 +6,19 @@ description-file =
66
author = OpenStack
77
author-email = [email protected]
88
home-page = https://docs.openstack.org/tempest/latest/
9+
requires-python = >=3.6
910
classifier =
1011
Intended Audience :: Information Technology
1112
Intended Audience :: System Administrators
1213
Intended Audience :: Developers
1314
License :: OSI Approved :: Apache Software License
1415
Operating System :: POSIX :: Linux
1516
Programming Language :: Python
16-
Programming Language :: Python :: 2
17-
Programming Language :: Python :: 2.7
1817
Programming Language :: Python :: 3
1918
Programming Language :: Python :: 3.6
2019
Programming Language :: Python :: 3.7
20+
Programming Language :: Python :: 3 :: Only
21+
Programming Language :: Python :: Implementation :: CPython
2122

2223
[files]
2324
packages =

setup.py

-8
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,6 @@
1616
# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
1717
import setuptools
1818

19-
# In python < 2.7.4, a lazy loading of package `pbr` will break
20-
# setuptools if some other modules registered functions in `atexit`.
21-
# solution from: http://bugs.python.org/issue15881#msg170215
22-
try:
23-
import multiprocessing # noqa
24-
except ImportError:
25-
pass
26-
2719
setuptools.setup(
2820
setup_requires=['pbr>=2.0.0'],
2921
pbr=True)

tox.ini

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
[tox]
2-
envlist = pep8,py36,py37,py27,bashate,pip-check-reqs
2+
envlist = pep8,py36,py37,bashate,pip-check-reqs
33
minversion = 3.1.1
44
skipsdist = True
55
ignore_basepython_conflict = True

0 commit comments

Comments
 (0)