diff --git a/dev/config.sh b/dev/config.sh index 8c781199e..d518b81ff 100644 --- a/dev/config.sh +++ b/dev/config.sh @@ -23,3 +23,6 @@ # Additional arguments to pass to kayobe commands. #export KAYOBE_EXTRA_ARGS= + +# Upper constraints to use when installing Python packages. +#export UPPER_CONSTRAINTS_FILE= diff --git a/dev/functions b/dev/functions index b9b7f154f..f77ef852c 100644 --- a/dev/functions +++ b/dev/functions @@ -41,6 +41,21 @@ function config_defaults { # Additional arguments to pass to kayobe commands. export KAYOBE_EXTRA_ARGS=${KAYOBE_EXTRA_ARGS:-} + # Use .gitreview as the key to determine the appropriate branch to clone + # for tests. Inspired by OSA code. + PARENT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + if [ -f "${PARENT}/../.gitreview" ]; then + BRANCH=$(awk -F'=' '/defaultbranch/ {print $2}' "${PARENT}/../.gitreview") + if [[ "${BRANCH}" == "" ]]; then + SERIES="master" + else + SERIES="$(echo ${BRANCH} | sed 's|stable/||')" + fi + + # Upper constraints to use when installing Python packages. + export UPPER_CONSTRAINTS_FILE="${UPPER_CONSTRAINTS_FILE:-https://releases.openstack.org/constraints/upper/${SERIES}}" + fi + # Path to the Tenks virtual environment. export TENKS_VENV_PATH="${TENKS_VENV_PATH:-${HOME}/tenks-test-venv}" @@ -395,7 +410,11 @@ function overcloud_test_init { echo "Performing overcloud test init" environment_setup - pip install python-openstackclient + if [[ ! -z "$UPPER_CONSTRAINTS_FILE" ]]; then + pip install python-openstackclient -c "$UPPER_CONSTRAINTS_FILE" + else + pip install python-openstackclient + fi source "${KOLLA_CONFIG_PATH:-/etc/kolla}/admin-openrc.sh" # This guards init-runonce from running more than once