Browse code

Respect constraints in tempest tox venvs

This commit is a workaround for respecting upper-constraints. Since
we're using tox to handle setting up a venv and running tempest
commands we need to manually install the constrained packages inside
the tox venvs. This patch does that for all the venvs being created by
devstack via tox. However, since tempest has additional tox jobs
defined if those are run via devstack those will default to the
default pip install -U -r requirements.txt defined in tempest's
tox.ini.

Change-Id: I7f84dfb67a3c97003947aefd8a7e3c6454106db4
Closes-Bug: #1543841

Matthew Treinish authored on 2016/02/10 13:50:54
Showing 1 changed files
... ...
@@ -321,7 +321,10 @@ function configure_tempest {
321 321
     local tmp_cfg_file
322 322
     tmp_cfg_file=$(mktemp)
323 323
     cd $TEMPEST_DIR
324
-    tox -revenv -- tempest verify-config -u -r -o $tmp_cfg_file
324
+    tox -revenv --notest
325
+    # NOTE(mtreinish): Respect constraints on tempest verify-config venv
326
+    tox -evenv -- pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
327
+    tox -evenv -- tempest verify-config -uro $tmp_cfg_file
325 328
 
326 329
     local compute_api_extensions=${COMPUTE_API_EXTENSIONS:-"all"}
327 330
     if [[ ! -z "$DISABLE_COMPUTE_API_EXTENSIONS" ]]; then
... ...
@@ -588,6 +591,10 @@ function install_tempest {
588 588
     pip_install tox
589 589
     pushd $TEMPEST_DIR
590 590
     tox --notest -efull
591
+    # NOTE(mtreinish) Respect constraints in the tempest full venv, things that
592
+    # are using a tox job other than full will not be respecting constraints but
593
+    # running pip install -U on tempest requirements
594
+    $TEMPEST_DIR/.tox/full/bin/pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
591 595
     PROJECT_VENV["tempest"]=${TEMPEST_DIR}/.tox/full
592 596
     install_tempest_lib
593 597
     popd