Support for VPN functional tests on Neutron commits
Currently, when the VPN functional tests run, it uses tox_install.sh to install neutron code (as well as other packages, as passed in). For functional tests invoked via the post_test_hook.sh script, tox_install.sh would try to "import neutron", and if successful, then it is assumed that Neutron is already installed. Otherwise a check is done to see if it can pip install using the cache from Zuul cloner. For a local test run, tox_install.sh would pip install Neutron from git.openstack.org. If, however, one invokes the new Neutron experimental job that runs the VPN functional tests on a Neutron patch set, tox_install.sh was determining that Neutron was already installed. This was using the upstream version of Neutron in /tmp/openstack, instead of the changeset code in /opt/stack/new. This change attempts to fix this case, but first checking to see if the Neutron directory exists at /opt/stack/new ($HOME/neutron actually). If it does exist, that is pip installed for the VPN functional tests. Otherwise, it does the same checks as explained above. The end goal here is to be able to detect cross project breakages, by using the (currently experimental) gate-neutron-vpnaas-dsvm-functional-sswan. Change-Id: Ifa8ef994a571c72236a4a22a4eeb27496202db2b
This commit is contained in:
parent
c788f33d51
commit
6fff6428b9
@ -44,6 +44,9 @@ sudo -H -u $owner $sudo_env tox -e $VENV
|
||||
testr_exit_code=$?
|
||||
set -e
|
||||
|
||||
echo "Dumping log from tox_install.sh"
|
||||
cat /tmp/tox_install.txt
|
||||
|
||||
# Collect and parse results
|
||||
generate_testr_results
|
||||
exit $testr_exit_code
|
||||
|
@ -13,16 +13,24 @@
|
||||
# default:
|
||||
# pip install {opts} {packages}
|
||||
|
||||
set -x
|
||||
|
||||
exec > /tmp/tox_install.txt 2>&1
|
||||
|
||||
ZUUL_CLONER=/usr/zuul-env/bin/zuul-cloner
|
||||
neutron_installed=$(python -c "import neutron" ; echo $?)
|
||||
neutron_installed=$(echo "import neutron" | python 2>/dev/null ; echo $?)
|
||||
NEUTRON_DIR=$HOME/neutron
|
||||
|
||||
set -e
|
||||
|
||||
if [ $neutron_installed -eq 0 ]; then
|
||||
echo "ALREADY INSTALLED" > /tmp/tox_install.txt
|
||||
echo "Neutron already installed; using existing package"
|
||||
if [ -d "$NEUTRON_DIR" ]; then
|
||||
echo "FOUND Neutron code at $NEUTRON_DIR - using"
|
||||
pip install -U -e $NEUTRON_DIR
|
||||
elif [ $neutron_installed -eq 0 ]; then
|
||||
location=$(python -c "import neutron; print(neutron.__file__)")
|
||||
echo "ALREADY INSTALLED at $location"
|
||||
elif [ -x "$ZUUL_CLONER" ]; then
|
||||
echo "ZUUL CLONER" > /tmp/tox_install.txt
|
||||
echo "USING ZUUL CLONER to obtain Neutron code"
|
||||
cwd=$(/bin/pwd)
|
||||
cd /tmp
|
||||
$ZUUL_CLONER --cache-dir \
|
||||
@ -33,7 +41,7 @@ elif [ -x "$ZUUL_CLONER" ]; then
|
||||
pip install -e .
|
||||
cd "$cwd"
|
||||
else
|
||||
echo "PIP HARDCODE" > /tmp/tox_install.txt
|
||||
echo "LOCAL - Obtaining Neutron code from git.openstack.org"
|
||||
pip install -U -egit+https://git.openstack.org/openstack/neutron#egg=neutron
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user