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
This commit is contained in:
Pierre Riteau 2020-04-02 16:58:50 +02:00
parent 35ccc0d2cc
commit ef33e6ecb7
2 changed files with 23 additions and 1 deletions

View File

@ -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=

View File

@ -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