66c6a2ad58
The entry to install horizon in the test requirements is problematic when installing in devstack. Users have reported issues with multiple requirements for horizon or a problem with not being able to access git on some machines to pull down the horizon code. However, the tox tests still require the horizon code so that the unit tests can run against the horizon code. The solution is to remove the horizon entry in the test-requirements.txt. Also added the pip-install.sh script (which is "borrowed" from Sahara to which we express our most heartfelt thanks) to perform the pip install along with the pull of the horizon code from git. Finally, invoked the pip-install.sh script in the tox.ini file. Change-Id: Idb5edf32a461ada99aa1f189635ef34e9cbe1a58 Closes-Bug: #1562081
57 lines
1.6 KiB
Bash
Executable File
57 lines
1.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# This script is borrowed from Sahara who borrowed from neutron-* repos.
|
|
|
|
# Many of horizon's repos suffer from the problem of depending on horizon,
|
|
# but it not existing on pypi.
|
|
|
|
# This wrapper for tox's package installer will use the existing package
|
|
# if it exists, else use zuul-cloner if that program exists, else grab it
|
|
# from horizon master via a hard-coded URL. That last case should only
|
|
# happen with devs running unit tests locally.
|
|
|
|
# From the tox.ini config page:
|
|
# install_command=ARGV
|
|
# default:
|
|
# pip install {opts} {packages}
|
|
|
|
ZUUL_CLONER=/usr/zuul-env/bin/zuul-cloner
|
|
BRANCH_NAME=master
|
|
horizon_installed=$(echo "import horizon" | python 2>/dev/null ; echo $?)
|
|
|
|
set -e
|
|
|
|
install_cmd="pip install"
|
|
if [ "$1" = "constrained" ]; then
|
|
install_cmd="$install_cmd $2"
|
|
shift
|
|
fi
|
|
shift
|
|
|
|
if [ $horizon_installed -eq 0 ]; then
|
|
echo "ALREADY INSTALLED" > /tmp/tox_install.txt
|
|
echo "Horizon already installed; using existing package"
|
|
elif [ -x "$ZUUL_CLONER" ]; then
|
|
export ZUUL_BRANCH=${ZUUL_BRANCH-$BRANCH}
|
|
echo "ZUUL CLONER" > /tmp/tox_install.txt
|
|
cwd=$(/bin/pwd)
|
|
cd /tmp
|
|
$ZUUL_CLONER --cache-dir \
|
|
/opt/git \
|
|
--branch $BRANCH_NAME \
|
|
git://git.openstack.org \
|
|
openstack/horizon
|
|
cd openstack/horizon
|
|
$install_cmd -e .
|
|
cd "$cwd"
|
|
else
|
|
echo "PIP HARDCODE" > /tmp/tox_install.txt
|
|
if [ -z "$HORIZON_PIP_LOCATION" ]; then
|
|
HORIZON_PIP_LOCATION="git+https://git.openstack.org/openstack/horizon@$BRANCH_NAME#egg=horizon"
|
|
fi
|
|
$install_cmd -U -e ${HORIZON_PIP_LOCATION}
|
|
fi
|
|
|
|
$install_cmd -U $*
|
|
exit $?
|