From c30e57ffaa2e9792cb232011e912f4e0f6635bab Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Tue, 16 Jan 2018 10:36:28 +0100 Subject: [PATCH] ceph-ansible: PRs should keep CEPH_DOCKER_IMAGE_TAG set in tox Setting this variable was originally for nightlies test need. We should keep `CEPH_DOCKER_IMAGE_TAG` set in tox for PRs. Signed-off-by: Guillaume Abrioux --- ceph-ansible-nightly/build/build | 6 +++--- ceph-ansible-prs/build/build | 8 +------- scripts/build_utils.sh | 33 +++++++++++++++++++++++++++----- 3 files changed, 32 insertions(+), 15 deletions(-) diff --git a/ceph-ansible-nightly/build/build b/ceph-ansible-nightly/build/build index d4603685..aed376f1 100644 --- a/ceph-ansible-nightly/build/build +++ b/ceph-ansible-nightly/build/build @@ -15,10 +15,10 @@ restart_libvirt_services update_vagrant_boxes if [ "$RELEASE" == 'jewel' ] && [ "$CEPH_ANSIBLE_BRANCH" == 'stable-2.2' -o "$CEPH_ANSIBLE_BRANCH" == 'stable-3.0' ]; then - start_tox tag-stable-3.0-jewel-centos-7 + start_tox CEPH_DOCKER_IMAGE_TAG=tag-stable-3.0-jewel-centos-7 elif [ "$RELEASE" == 'luminous' ] && [ "$CEPH_ANSIBLE_BRANCH" == 'stable-3.0' ]; then # start_tox(): - start_tox tag-stable-3.0-luminous-centos-7 + start_tox CEPH_DOCKER_IMAGE_TAG=tag-stable-3.0-luminous-centos-7 elif [ "$RELEASE" == 'luminous' ] && [ "$CEPH_ANSIBLE_BRANCH" == 'master' ]; then - start_tox tag-build-master-luminous-ubuntu-16.04 + start_tox CEPH_DOCKER_IMAGE_TAG=tag-build-master-luminous-ubuntu-16.04 fi diff --git a/ceph-ansible-prs/build/build b/ceph-ansible-prs/build/build index 696de617..fdcff5aa 100644 --- a/ceph-ansible-prs/build/build +++ b/ceph-ansible-prs/build/build @@ -26,10 +26,4 @@ for scenario in $scenarios; do done popd -if [ "$RELEASE" == 'jewel' ]; then - start_tox tag-build-master-jewel-ubuntu-16.04 -elif [ "$RELEASE" == 'luminous' ]; then - start_tox tag-build-master-luminous-ubuntu-16.04 -else - start_tox latest -fi +start_tox diff --git a/scripts/build_utils.sh b/scripts/build_utils.sh index 690ca036..5639f1c2 100644 --- a/scripts/build_utils.sh +++ b/scripts/build_utils.sh @@ -596,11 +596,34 @@ update_vagrant_boxes() { } start_tox() { -# $1 = CEPH_DOCKER_IMAGE_TAG # the $SCENARIO var is injected by the job template. It maps # to an actual, defined, tox environment -local release=${2:-$RELEASE} - if ! CEPH_DOCKER_IMAGE_TAG=$1 CEPH_STABLE_RELEASE=$RELEASE timeout 3h $VENV/tox -rv -e=$RELEASE-$ANSIBLE_VERSION-$SCENARIO --workdir=$WORKDIR -- --provider=libvirt; then echo "ERROR: Job didn't complete successfully or got stuck for more than 3h." - exit 1 - fi +while true; do + case $1 in + CEPH_DOCKER_IMAGE_TAG=?*) + local ceph_docker_image_tag=${1#*=} + shift + ;; + RELEASE=?*) + local release=${1#*=} + shift + ;; + *) + break + ;; + esac +done +TOX_RUN_ENV=("timeout 3h") +if [ -n "$ceph_docker_image_tag" ]; then + TOX_RUN_ENV=("CEPH_DOCKER_IMAGE_TAG=$ceph_docker_image_tag" "${TOX_RUN_ENV[@]}") +fi +if [ -n "$release" ]; then + TOX_RUN_ENV=("CEPH_STABLE_RELEASE=$release" "${TOX_RUN_ENV[@]}") +else + TOX_RUN_ENV=("CEPH_STABLE_RELEASE=$RELEASE" "${TOX_RUN_ENV[@]}") +fi +# shellcheck disable=SC2116 +if ! eval "$(echo "${TOX_RUN_ENV[@]}")" "$VENV"/tox -rv -e="$RELEASE"-"$ANSIBLE_VERSION"-"$SCENARIO" --workdir="$WORKDIR" -- --provider=libvirt; then echo "ERROR: Job didn't complete successfully or got stuck for more than 3h." + exit 1 +fi } -- 2.39.5