From fb447eb70af1ca3ab66710851419e0daddd106cc Mon Sep 17 00:00:00 2001 From: Michal Nasiadka <mnasiadka@gmail.com> Date: Thu, 17 Nov 2022 10:56:35 +0100 Subject: [PATCH] Improve kolla-ansible error on missing Ansible Also improve the error message to point out currently supported Ansible version. Change-Id: Iabd11f03ff789f7fab8bec068bc9b4fb4dd1a2be --- tools/kolla-ansible | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/tools/kolla-ansible b/tools/kolla-ansible index 0de653067b..861faec745 100755 --- a/tools/kolla-ansible +++ b/tools/kolla-ansible @@ -2,9 +2,14 @@ # # This script can be used to interact with kolla via ansible. +set -o errexit + # do not use _PYTHON_BIN directly, use $(get_python_bin) instead _PYTHON_BIN="" +ANSIBLE_VERSION_MIN=2.12 +ANSIBLE_VERSION_MAX=2.13 + function get_python_bin { if [ -n "$_PYTHON_BIN" ]; then echo -n "$_PYTHON_BIN" @@ -16,6 +21,7 @@ function get_python_bin { if [[ $? -ne 0 ]]; then echo "ERROR: Ansible is not installed in the current (virtual) environment." >&2 + echo "Ansible version should be between $ANSIBLE_VERSION_MIN and $ANSIBLE_VERSION_MAX." >&2 exit 1 fi @@ -68,8 +74,6 @@ function check_environment_coherence { exit 1 fi - local ANSIBLE_VERSION_MIN=2.12 - local ANSIBLE_VERSION_MAX=2.13 if [[ $(printf "%s\n" "$ANSIBLE_VERSION_MIN" "$ANSIBLE_VERSION_MAX" "$ansible_version" | sort -V | head -n1) != "$ANSIBLE_VERSION_MIN" ]] || [[ $(printf "%s\n" "$ANSIBLE_VERSION_MIN" "$ANSIBLE_VERSION_MAX" "$ansible_version" | sort -V | tail -n1) != "$ANSIBLE_VERSION_MAX" ]]; then @@ -557,7 +561,7 @@ EOF esac GLOBALS_DIR="${CONFIG_DIR}/globals.d" -EXTRA_GLOBALS=$(find ${GLOBALS_DIR} -maxdepth 1 -type f -name '*.yml' -printf ' -e @%p' 2>/dev/null) +EXTRA_GLOBALS=$(find ${GLOBALS_DIR} -maxdepth 1 -type f -name '*.yml' -printf ' -e @%p' || true 2>/dev/null) PASSWORDS_FILE="${PASSWORDS_FILE:-${CONFIG_DIR}/passwords.yml}" CONFIG_OPTS="-e @${CONFIG_DIR}/globals.yml ${EXTRA_GLOBALS} -e @${PASSWORDS_FILE} -e CONFIG_DIR=${CONFIG_DIR}" CMD="ansible-playbook $CONFIG_OPTS $EXTRA_OPTS $PLAYBOOK $VERBOSITY"