From ef33e6ecb770f852bb4433d6b0d2dec7778937a4 Mon Sep 17 00:00:00 2001 From: Pierre Riteau Date: Thu, 2 Apr 2020 16:58:50 +0200 Subject: [PATCH] Install python-openstackclient using upper constraints Detect current branch from .gitreview and use upper constraints to install python-openstackclient, to guarantee compatibility with the Python version in use. Change-Id: Ie44508fe3d3b08190afa5a43748e43548a63ff82 --- dev/config.sh | 3 +++ dev/functions | 21 ++++++++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) 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