summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2023-04-10 07:05:13 +0000
committerGerrit Code Review <review@openstack.org>2023-04-10 07:05:13 +0000
commiteae86e31a714ee2d456657c90a563ae2b11b9f70 (patch)
tree4abe8ec80f706322b5048f813773be087dca3945
parentb135a99575ed42882d17b4bef2006a10cfe8afaa (diff)
parent1360cfdfa3026ce09e86c9f67e38c390229477fd (diff)
downloadheat-eae86e31a714ee2d456657c90a563ae2b11b9f70.tar.gz
Merge "Fix setting the tempest virtual env constraints env var" into stable/xena
-rw-r--r--.zuul.yaml1
-rwxr-xr-xdevstack/upgrade/resources.sh32
-rw-r--r--roles/run-heat-tests/defaults/main.yaml1
-rw-r--r--roles/run-heat-tests/tasks/main.yaml8
-rw-r--r--test-requirements.txt2
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