Update ansible to 2.5.8

It also seems that Ansible became more strict about the permissions of
the current working directory[1] so we need to either move our ansible.cfg
to a better location, or get rid of it. In the zuul test environment, the
location is world-writable.

Given that this is an ansible.cfg used for tests only, that its content is
(mostly) duplicated in the wrapper's RC file and that implementation of
avoiding the wrapper was done when we had vars plugins (which we no longer
have), I think it's safe to remove it and use the wrapper instead.

Using the wrapper ensures that everything is set in one place, so it's
easier to find. In the AIO bootstrap we then just make sure we override
things that we do not want to interfere with the AIO bootstrap - then unset
them later so that the defaults get applied from then on.

To also reduce the duplication of the bootstrap-aio.sh script in the
gate-check-commit script, we source bootstrap-aio from gate-check-commit.

[1]: ff980afefd

Change-Id: I6a673c3c4f228d11a9d93766021409a5b1672f63
This commit is contained in:
Jesse Pretorius 2018-08-16 09:16:51 +01:00
parent 829b7940bb
commit 24bd4a781f
4 changed files with 20 additions and 40 deletions

View File

@ -21,25 +21,35 @@ set -e -u -x
# Extra options to pass to the AIO bootstrap process
export BOOTSTRAP_OPTS=${BOOTSTRAP_OPTS:-''}
# Store the clone repo root location
export OSA_CLONE_DIR="${OSA_CLONE_DIR:-$(readlink -f $(dirname $0)/..)}"
## Main ----------------------------------------------------------------------
# Run AIO bootstrap playbook
unset ANSIBLE_VARS_PLUGINS
unset HOST_VARS_PATH
unset GROUP_VARS_PATH
# Ensure that some of the wrapper options are overridden
# to prevent interference with the AIO bootstrap.
export ANSIBLE_INVENTORY="${OSA_CLONE_DIR}/tests/test-inventory.ini"
export ANSIBLE_VARS_PLUGINS="/dev/null"
export HOST_VARS_PATH="/dev/null"
export GROUP_VARS_PATH="/dev/null"
# Run AIO bootstrap playbook
pushd tests
if [ -z "${BOOTSTRAP_OPTS}" ]; then
/opt/ansible-runtime/bin/ansible-playbook bootstrap-aio.yml \
-i test-inventory.ini
ansible-playbook bootstrap-aio.yml
else
export BOOTSTRAP_OPTS_ITEMS=''
for BOOTSTRAP_OPT in ${BOOTSTRAP_OPTS}; do
BOOTSTRAP_OPTS_ITEMS=${BOOTSTRAP_OPTS_ITEMS}"-e "${BOOTSTRAP_OPT}" "
done
/opt/ansible-runtime/bin/ansible-playbook bootstrap-aio.yml \
-i test-inventory.ini \
ansible-playbook bootstrap-aio.yml \
${BOOTSTRAP_OPTS_ITEMS}
fi
popd
# Now unset the env var overrides so that the defaults work again
unset ANSIBLE_INVENTORY
unset ANSIBLE_VARS_PLUGINS
unset HOST_VARS_PATH
unset GROUP_VARS_PATH

View File

@ -23,7 +23,7 @@ set -e -u -x
export HTTP_PROXY=${HTTP_PROXY:-""}
export HTTPS_PROXY=${HTTPS_PROXY:-""}
# The Ansible version used for testing
export ANSIBLE_PACKAGE=${ANSIBLE_PACKAGE:-"ansible==2.5.5"}
export ANSIBLE_PACKAGE=${ANSIBLE_PACKAGE:-"ansible==2.5.8"}
export ANSIBLE_ROLE_FILE=${ANSIBLE_ROLE_FILE:-"ansible-role-requirements.yml"}
export SSH_DIR=${SSH_DIR:-"/root/.ssh"}
export DEBIAN_FRONTEND=${DEBIAN_FRONTEND:-"noninteractive"}

View File

@ -137,22 +137,7 @@ iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
# Bootstrap an AIO
unset ANSIBLE_VARS_PLUGINS
unset HOST_VARS_PATH
unset GROUP_VARS_PATH
pushd "${OSA_CLONE_DIR}/tests"
if [ -z "${BOOTSTRAP_OPTS}" ]; then
/opt/ansible-runtime/bin/ansible-playbook bootstrap-aio.yml \
-i test-inventory.ini \
${ANSIBLE_PARAMETERS}
else
/opt/ansible-runtime/bin/ansible-playbook bootstrap-aio.yml \
-i test-inventory.ini \
-e "${BOOTSTRAP_OPTS}" \
${ANSIBLE_PARAMETERS}
fi
popd
source "${OSA_CLONE_DIR}/scripts/bootstrap-aio.sh"
if [[ "${ACTION}" == "varstest" ]]; then
pushd "${OSA_CLONE_DIR}/tests"

View File

@ -1,15 +0,0 @@
[defaults]
# Set the role path
roles_path = /etc/ansible/roles:roles
# Additional plugins
action_plugins = /etc/ansible/roles/plugins/action
callback_plugins = /etc/ansible/roles/plugins/callback
filter_plugins = /etc/ansible/roles/plugins/filter
lookup_plugins = /etc/ansible/roles/plugins/lookup
library = /etc/ansible/roles/plugins/library
# Set color options
nocolor = 0
host_key_checking = False