New job for sahara-scenario based on Python 3

Only sahara-scenario is executed using Python 3;
the deployment itself (devstack) still uses Python 2.

In order to ease the transition, add a venv-py2 tox target
that can be used by the sahara and python-saharaclient jobs
on the older branches to still use python2 when the main
venv will be switched to python3.
This venv is used to make sure that the old branches
are still using Python 2 regardless of the configuration
of sahara-tests-scenario.

After this change is merged, the scenario jobs on older branches
should be changed to explicitly use venv-py2. When this is
done, sahara-tests-scenario-runner-py3 can be removed and
sahara-tests-scenario can be switched to use venv-py3.

Change-Id: I379a993e45da842cea24e50afe84c89556c0e700
This commit is contained in:
Luigi Toscano 2019-02-04 18:34:51 +01:00
parent 1518565156
commit e79f870ec7
4 changed files with 30 additions and 3 deletions

View File

@ -11,7 +11,7 @@
voting: false
- openstack-tox-pylint:
voting: false
- sahara-tests-scenario
- sahara-tests-scenario-runner-py3
- sahara-tests-tempest
- sahara-tests-scenario-rocky
- sahara-tests-scenario-queens
@ -19,7 +19,7 @@
gate:
queue: sahara
jobs:
- sahara-tests-scenario
- sahara-tests-scenario-runner-py3
- sahara-tests-tempest
experimental:
jobs:
@ -134,6 +134,7 @@
sahara_plugin: fake
sahara_plugin_version: '0.1'
sahara_scenario_test_template: fake.yaml.mako
sahara_scenario_tox_env: venv-py2
irrelevant-files:
- ^.*\.rst$
- ^api-ref/.*$
@ -141,20 +142,35 @@
- ^releasenotes/.*$
- ^sahara_tempest_plugin/.*$
- job:
name: sahara-tests-scenario-runner-py3
parent: sahara-tests-scenario
description: |
Run scenario tests for Sahara which use Python 3
to run sahara-scenario (but not the OpenStack deployment)
vars:
sahara_scenario_tox_env: venv-py3
- job:
name: sahara-tests-scenario-rocky
parent: sahara-tests-scenario
override-checkout: stable/rocky
vars:
sahara_scenario_tox_env: venv-py2
- job:
name: sahara-tests-scenario-queens
parent: sahara-tests-scenario
override-checkout: stable/queens
vars:
sahara_scenario_tox_env: venv-py2
- job:
name: sahara-tests-scenario-pike
parent: sahara-tests-scenario
override-checkout: stable/pike
vars:
sahara_scenario_tox_env: venv-py2
- job:
name: sahara-tests-scenario-modwsgi

View File

@ -3,3 +3,4 @@ sahara_tests_src_dir: "{{ zuul.projects['git.openstack.org/openstack/sahara-test
sahara_cloud_demo: 'devstack-admin'
sahara_scenario_conf: '{{ ansible_user_dir }}/template_vars.ini'
sahara_scenario_test_template: 'fake.yaml.mako'
sahara_scenario_tox_env: 'venv'

View File

@ -1,7 +1,7 @@
---
- name: run sahara-scenario
shell: |
tox -e venv --sitepackages -- sahara-scenario --verbose -V {{ sahara_scenario_conf }} \
tox -e {{ sahara_scenario_tox_env }} --sitepackages -- sahara-scenario --verbose -V {{ sahara_scenario_conf }} \
etc/scenario/gate/credentials.yaml.mako \
etc/scenario/gate/edp.yaml.mako \
etc/scenario/gate/{{ sahara_scenario_test_template }} \

10
tox.ini
View File

@ -19,6 +19,16 @@ passenv = http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy NO_PROXY OS_*
commands = {posargs}
passenv = OS_*
[testenv:venv-py2]
basepython = python2
commands = {posargs}
passenv = OS_*
[testenv:venv-py3]
basepython = python3
commands = {posargs}
passenv = OS_*
[testenv:cover]
basepython = python3
setenv =