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

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

sahara-tests is ready with python 3 and ok to drop the
python 2.7 support.

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

Noteworthy change:
- run sahara-scenario with Python 3 also against the older releases
  (up to rocky) which are Xenial-based.
- on the other hand, make sure that the jobs use a Python 2
  devstack environment when deploying the pre-Ussuri branches;
- add the missing scenario-test jobs for stein and train.

Co-Authored-By: Luigi Toscano <ltoscano@redhat.com>
Change-Id: I3666a9ed9047f7c6a358e40d2f7a1d1103f8563b
This commit is contained in:
Ghanshyam Mann 2020-01-14 18:37:59 +01:00 committed by Luigi Toscano
parent cdfbaac4ed
commit 752970e295
4 changed files with 70 additions and 39 deletions

View File

@ -3,8 +3,7 @@
- openstack-python-jobs
- publish-openstack-docs-pti
- openstack-python35-jobs
- openstack-python36-jobs
- openstack-python37-jobs
- openstack-python3-ussuri-jobs
- release-notes-jobs-python3
check:
jobs:
@ -14,9 +13,10 @@
voting: false
- sahara-tests-scenario
- sahara-tests-scenario-v2
- sahara-tests-scenario-py3
- sahara-tests-tempest
- sahara-tests-tempest-v2
- sahara-tests-scenario-train
- sahara-tests-scenario-stein
- sahara-tests-scenario-rocky
- sahara-tests-scenario-queens
- sahara-tests-scenario-pike
@ -25,13 +25,11 @@
jobs:
- sahara-tests-scenario
- sahara-tests-scenario-v2
- sahara-tests-scenario-py3
- sahara-tests-tempest
- sahara-tests-tempest-v2
experimental:
jobs:
- sahara-tests-scenario-multinode-spark
- sahara-tests-scenario-multinode-spark-py3
- job:
name: sahara-tests-tempest
@ -55,6 +53,7 @@
devstack_localrc:
IMAGE_URLS: https://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img
TEMPEST_PLUGINS: /opt/stack/sahara-tests
USE_PYTHON3: True
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
@ -109,12 +108,25 @@
- stable/pike
- stable/queens
vars:
devstack_localrc:
USE_PYTHON3: 'False'
devstack_local_conf:
test-config:
$TEMPEST_CONFIG:
data-processing-feature-enabled:
s3: 'False'
# variant for pre-Ussuri branches (Python 2 by default)
- job:
name: sahara-tests-tempest
branches:
- stable/rocky
- stable/stein
- stable/train
vars:
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario
description: |
@ -155,6 +167,7 @@
# required to contain (almost any) custom-built image
SWIFT_LOOPBACK_DISK_SIZE: 8G
SWIFT_MAX_FILE_SIZE: 8589934592
USE_PYTHON3: True
devstack_local_conf:
post-config:
$SAHARA_CONF_FILE:
@ -179,26 +192,48 @@
vars:
sahara_scenario_use_api_v2: True
# pre-Ussuri scenario tests: devstack must use python 2,
# but sahara-scenario can use python 3.
- job:
name: sahara-tests-scenario-train
parent: sahara-tests-scenario
override-checkout: stable/train
vars:
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario-stein
parent: sahara-tests-scenario
override-checkout: stable/stein
vars:
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario-rocky
parent: sahara-tests-scenario
override-checkout: stable/rocky
vars:
sahara_scenario_tox_env: venv-py2
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario-queens
parent: sahara-tests-scenario
override-checkout: stable/queens
vars:
sahara_scenario_tox_env: venv-py2
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario-pike
parent: sahara-tests-scenario
override-checkout: stable/pike
vars:
sahara_scenario_tox_env: venv-py2
devstack_localrc:
USE_PYTHON3: 'False'
- job:
name: sahara-tests-scenario-modwsgi
@ -240,6 +275,17 @@
s-proxy: false
sahara_enable_s3: True
- job:
name: sahara-tests-scenario-py3
description: |
Run scenario tests on a Sahara deployment based on Python 3.
Required by some pre-Ussuri branches of sahara, which also
needs swift (not fully ported to Python 3 at the time).
parent: sahara-tests-scenario-radosgw
vars:
devstack_localrc:
USE_PYTHON3: 'True'
- job:
name: sahara-tests-scenario-multinode-spark
description: |
@ -259,21 +305,3 @@
disk: 20
vcpus: 1
ephemeral: 0
- job:
name: sahara-tests-scenario-py3
description: |
Run scenario tests on a Sahara deployment based on Python 3.
parent: sahara-tests-scenario-radosgw
vars:
devstack_localrc:
USE_PYTHON3: 'True'
- job:
name: sahara-tests-scenario-multinode-spark-py3
description: |
Run scenario tests on Spark on a multinode Python 3 Sahara deployment.
parent: sahara-tests-scenario-multinode-spark
vars:
devstack_localrc:
USE_PYTHON3: 'True'

View File

@ -0,0 +1,7 @@
---
upgrade:
- |
Python 2.7 support has been dropped. Last release of sahara-tests
to support python 2.7 is 0.9.1, the first version that can be used
with OpenStack Train.
The minimum version of Python now supported by sahara-tests is Python 3.5.

View File

@ -5,8 +5,10 @@ description-file = README.rst
license = Apache Software License
classifiers =
Programming Language :: Python
Programming Language :: Python :: 2
Programming Language :: Python :: 2.7
Programming Language :: Python :: 3
Programming Language :: Python :: 3.5
Programming Language :: Python :: 3.6
Programming Language :: Python :: 3.7
Environment :: OpenStack
Intended Audience :: Information Technology
Intended Audience :: System Administrators

16
tox.ini
View File

@ -1,9 +1,13 @@
[tox]
envlist = py37,py36,py35,py27,pep8,releasenotes
envlist = py37,py36,py35,pep8,releasenotes
minversion = 2.0
skipsdist = True
# 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
install_command = pip install -U {opts} {packages}
setenv =
@ -20,19 +24,12 @@ basepython = python3
commands = {posargs}
passenv = OS_*
[testenv:venv-py2]
basepython = python2
commands = {posargs}
passenv = OS_*
[testenv:cover]
basepython = python3
setenv =
PACKAGE_NAME=sahara_tests
commands = {toxinidir}/tools/cover.sh {posargs}
[testenv:docs]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands =
@ -45,12 +42,10 @@ whitelist_externals =
downloadcache = ~/cache/pip
[testenv:pylint]
basepython = python3
setenv = VIRTUAL_ENV={envdir}
commands = bash tools/lintstack.sh
[testenv:pep8]
basepython = python3
deps =
-r{toxinidir}/requirements.txt
-r{toxinidir}/doc/requirements.txt
@ -66,7 +61,6 @@ commands =
whitelist_externals = bash
[testenv:releasenotes]
basepython = python3
deps =
-r{toxinidir}/doc/requirements.txt
commands =