diff --git a/tools/tox_install.sh b/tools/tox_install.sh index 00223e915..c09d81872 100755 --- a/tools/tox_install.sh +++ b/tools/tox_install.sh @@ -16,20 +16,35 @@ ZUUL_CLONER=/usr/zuul-env/bin/zuul-cloner BRANCH_NAME=master neutron_installed=$(echo "import neutron" | python 2>/dev/null ; echo $?) +NEUTRON_DIR=$HOME/neutron set -e +set -x install_cmd="pip install -c$1" shift -if [ $neutron_installed -eq 0 ]; then +# The devstack based functional tests have neutron checked out in +# $NEUTRON_DIR on the test systems - with the change to test in it. +# Use this directory if it exists, so that this script installs the +# neutron version to test here. +# Note that the functional tests use sudo to run tox and thus +# variables used for zuul-cloner to check out the correct version are +# lost. +if [ -d "$NEUTRON_DIR" ]; then + echo "FOUND Neutron code at $NEUTRON_DIR - using" + $install_cmd -U -e $NEUTRON_DIR +elif [ $neutron_installed -eq 0 ]; then echo "ALREADY INSTALLED" > /tmp/tox_install.txt + location=$(python -c "import neutron; print(neutron.__file__)") + echo "ALREADY INSTALLED at $location" + echo "Neutron already installed; using existing package" elif [ -x "$ZUUL_CLONER" ]; then echo "ZUUL CLONER" > /tmp/tox_install.txt # Make this relative to current working directory so that # git clean can remove it. We cannot remove the directory directly - # since it is reference after $install_cmd -e. + # since it is referenced after $install_cmd -e. mkdir -p .tmp NEUTRON_DIR=$(/bin/mktemp -d -p $(pwd)/.tmp) pushd $NEUTRON_DIR