Browse code

Use common tempest tox venv and add plugin install variable

This commit adds a new variable to lib/tempest to provide the plugins
that should be installed into common tox venv that gets created. In
order to make this work the workarounds to handle migrating to a common
tox venv have to be removed otherwise the plugins could be installed in
a venv that isn't used. This also removes the constrained installation
steps, as the constraints packaged on mitaka will eventually conflict
with what tempest actually requires since tempest follows master
requirements and constraints.

Change-Id: I63658b8d8dfa999e0feb79f8f2968f2b32e3ff57
Depends-On: Iab2e6e04b6c5795a4d0c8214564106525b942308
(cherry picked from commit 440464ccbbaf33e4687bd9fece5e1de64542f263)

Matthew Treinish authored on 2016/05/05 00:55:12
Showing 1 changed files
... ...
@@ -66,6 +66,10 @@ BUILD_TIMEOUT=${BUILD_TIMEOUT:-196}
66 66
 # have tempest installed in DevStack by default.
67 67
 INSTALL_TEMPEST=${INSTALL_TEMPEST:-"True"}
68 68
 
69
+# This variable is passed directly to pip install inside the common tox venv
70
+# that is created
71
+TEMPEST_PLUGINS=${TEMPEST_PLUGINS:-0}
72
+
69 73
 # Cinder/Volume variables
70 74
 TEMPEST_VOLUME_DRIVER=${TEMPEST_VOLUME_DRIVER:-default}
71 75
 TEMPEST_DEFAULT_VOLUME_VENDOR="Open Source"
... ...
@@ -323,11 +327,9 @@ function configure_tempest {
323 323
     tmp_cfg_file=$(mktemp)
324 324
     cd $TEMPEST_DIR
325 325
     if [[ "$OFFLINE" != "True" ]]; then
326
-        tox -revenv --notest
326
+        tox -revenv-tempest --notest
327 327
     fi
328
-    # NOTE(mtreinish): Respect constraints on tempest verify-config venv
329
-    tox -evenv -- pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
330
-    tox -evenv -- tempest verify-config -uro $tmp_cfg_file
328
+    tox -evenv-tempest -- tempest verify-config -uro $tmp_cfg_file
331 329
 
332 330
     local compute_api_extensions=${COMPUTE_API_EXTENSIONS:-"all"}
333 331
     if [[ ! -z "$DISABLE_COMPUTE_API_EXTENSIONS" ]]; then
... ...
@@ -594,15 +596,9 @@ function install_tempest {
594 594
     pip_install tox
595 595
     pushd $TEMPEST_DIR
596 596
     tox --notest -efull
597
-    # NOTE(mtreinish) Respect constraints in the tempest full venv, things that
598
-    # are using a tox job other than full will not be respecting constraints but
599
-    # running pip install -U on tempest requirements
600
-    if [[ -d .tox/tempest ]] ; then
601
-        $TEMPEST_DIR/.tox/tempest/bin/pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
602
-        PROJECT_VENV["tempest"]=${TEMPEST_DIR}/.tox/tempest
603
-    else
604
-        $TEMPEST_DIR/.tox/full/bin/pip install -c $REQUIREMENTS_DIR/upper-constraints.txt -r requirements.txt
605
-        PROJECT_VENV["tempest"]=${TEMPEST_DIR}/.tox/full
597
+    PROJECT_VENV["tempest"]=${TEMPEST_DIR}/.tox/tempest
598
+    if [[ $TEMPEST_PLUGINS != 0 ]] ; then
599
+        tox -evenv-tempest -- pip install $TEMPEST_PLUGINS
606 600
     fi
607 601
     install_tempest_lib
608 602
     popd