diff options
-rw-r--r-- | .zuul.yaml | 1 | ||||
-rwxr-xr-x | devstack/upgrade/resources.sh | 32 | ||||
-rw-r--r-- | roles/run-heat-tests/defaults/main.yaml | 1 | ||||
-rw-r--r-- | roles/run-heat-tests/tasks/main.yaml | 8 | ||||
-rw-r--r-- | test-requirements.txt | 2 |
5 files changed, 40 insertions, 4 deletions
diff --git a/.zuul.yaml b/.zuul.yaml index 0581c2277..8c1ec3ff8 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -136,6 +136,7 @@ - job: name: grenade-heat-multinode parent: grenade-multinode + voting: false required-projects: - opendev.org/openstack/heat - opendev.org/openstack/heat-tempest-plugin diff --git a/devstack/upgrade/resources.sh b/devstack/upgrade/resources.sh index 3f00dce9d..277e37dcf 100755 --- a/devstack/upgrade/resources.sh +++ b/devstack/upgrade/resources.sh @@ -64,14 +64,40 @@ function _run_heat_integrationtests { # Run set of specified functional tests UPGRADE_TESTS=upgrade_tests.list _write_heat_integrationtests $UPGRADE_TESTS - export UPPER_CONSTRAINTS_FILE=$DEST/requirements/upper-constraints.txt - export TOX_CONSTRAINTS_FILE=$UPPER_CONSTRAINTS_FILE + # NOTE(gmann): heat script does not know about + # TEMPEST_VENV_UPPER_CONSTRAINTS, only DevStack does. + # This sources that one variable from it. + TEMPEST_VENV_UPPER_CONSTRAINTS=$(set +o xtrace && + source $devstack_dir/stackrc && + echo $TEMPEST_VENV_UPPER_CONSTRAINTS) + # NOTE(gmann): If gate explicitly set the non master + # constraints to use for Tempest venv then use the same + # while running the tests too otherwise, it will recreate + # the Tempest venv due to constraints mismatch. + # recreation of Tempest venv can flush the initially installed + # tempest plugins and their deps. + if [[ "$TEMPEST_VENV_UPPER_CONSTRAINTS" != "master" ]]; then + echo "Using $TEMPEST_VENV_UPPER_CONSTRAINTS constraints in Tempest virtual env." + # NOTE: setting both tox env var and once Tempest start using new var + # TOX_CONSTRAINTS_FILE then we can remove the old one. + export UPPER_CONSTRAINTS_FILE=$TEMPEST_VENV_UPPER_CONSTRAINTS + export TOX_CONSTRAINTS_FILE=$TEMPEST_VENV_UPPER_CONSTRAINTS + else + # NOTE(gmann): we need to set the below env var pointing to master + # constraints even that is what default in tox.ini. Otherwise it + # can create the issue for grenade run where old and new devstack + # can have different tempest (old and master) to install. For + # detail problem, refer to the + # https://bugs.launchpad.net/devstack/+bug/2003993 + export UPPER_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/master + export TOX_CONSTRAINTS_FILE=https://releases.openstack.org/constraints/upper/master + fi export HEAT_TEMPEST_PLUGIN=$DEST/heat-tempest-plugin sudo git config --system --add safe.directory $HEAT_TEMPEST_PLUGIN tox -evenv-tempest -- pip install -c$UPPER_CONSTRAINTS_FILE $HEAT_TEMPEST_PLUGIN tox -evenv-tempest -- stestr --test-path=$DEST/heat/heat_integrationtests --top-dir=$DEST/heat \ --group_regex='heat_tempest_plugin\.tests\.api\.test_heat_api[._]([^_]+)' \ - run --whitelist-file $UPGRADE_TESTS + run --include-list $UPGRADE_TESTS _heat_set_user popd } diff --git a/roles/run-heat-tests/defaults/main.yaml b/roles/run-heat-tests/defaults/main.yaml index 22ce4a490..1ae87b9ed 100644 --- a/roles/run-heat-tests/defaults/main.yaml +++ b/roles/run-heat-tests/defaults/main.yaml @@ -3,3 +3,4 @@ tempest_test_timeout: '' tempest_tox_environment: {} heat_tempest_plugin: /opt/stack/heat-tempest-plugin constraints_file: /opt/stack/requirements/upper-constraints.txt +target_branch: "{{ zuul.branch }}" diff --git a/roles/run-heat-tests/tasks/main.yaml b/roles/run-heat-tests/tasks/main.yaml index 4af1d0e03..03661d774 100644 --- a/roles/run-heat-tests/tasks/main.yaml +++ b/roles/run-heat-tests/tasks/main.yaml @@ -3,9 +3,17 @@ tempest_tox_environment: "{{ tempest_tox_environment | combine({'OS_TEST_TIMEOUT': tempest_test_timeout}) }}" when: tempest_test_timeout != '' +- name: Override target branch + set_fact: + target_branch: "{{ zuul.override_checkout }}" + when: zuul.override_checkout is defined + - name: Set TOX_CONSTRAINTS_FILE set_fact: + # Set TOX_CONSTRAINTS_FILE/UPPER_CONSTRAINTS_FILE to stable constraints only + # for the EM stable branch where old tempest (not master) is used. tempest_tox_environment: "{{ tempest_tox_environment | combine({'UPPER_CONSTRAINTS_FILE': constraints_file}) | combine({'TOX_CONSTRAINTS_FILE': constraints_file}) }}" + when: target_branch in ["stable/ocata", "stable/pike", "stable/queens", "stable/rocky", "stable/stein", "stable/train", "stable/ussuri", "stable/victoria", "stable/wallaby"] - name: Allow git to read plugin directories become: true diff --git a/test-requirements.txt b/test-requirements.txt index bd3032139..62872ccaa 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -9,7 +9,7 @@ hacking>=3.0.1,<3.1.0 # Apache-2.0 # care of pyflakes version compatibilty. pyflakes>=2.1.1 -bandit!=1.6.0,>=1.1.0 # Apache-2.0 +bandit!=1.6.0,>=1.1.0,<1.7.5 # Apache-2.0 coverage!=4.4,>=4.0 # Apache-2.0 fixtures>=3.0.0 # Apache-2.0/BSD kombu!=4.0.2,>=5.0.1 # BSD |