From b7a21d94d365c4920716757e481f9fa790bc0273 Mon Sep 17 00:00:00 2001 From: Guillaume Abrioux Date: Tue, 2 Apr 2019 14:53:19 +0200 Subject: [PATCH] tests: retry to fire up VMs on vagrant failure Add a script to retry several times to fire up VMs to avoid vagrant failures. Signed-off-by: Guillaume Abrioux Co-authored-by: Andrew Schoen (cherry picked from commit 1ecb3a9352d869d8fde694cefae9de8af8f6fee8) --- tests/scripts/vagrant_up.sh | 12 ++++++++++++ tox-update.ini | 3 +-- tox.ini | 2 +- 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 tests/scripts/vagrant_up.sh diff --git a/tests/scripts/vagrant_up.sh b/tests/scripts/vagrant_up.sh new file mode 100644 index 000000000..5ec9aff20 --- /dev/null +++ b/tests/scripts/vagrant_up.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +retries=0 +until [ $retries -ge 5 ] +do + echo "Attempting to start VMs. Attempts: $retries" + timeout 10m vagrant up "$@" && break + retries=$[$retries+1] + sleep 5 +done + +sleep 10 \ No newline at end of file diff --git a/tox-update.ini b/tox-update.ini index e383d2604..5b34dbc5d 100644 --- a/tox-update.ini +++ b/tox-update.ini @@ -43,8 +43,7 @@ setenv= changedir={toxinidir}/tests/functional/all_daemons{env:CONTAINER_DIR:} commands= - - vagrant up --no-provision {posargs:--provider=virtualbox} + bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} # use the stable-3.1 branch to deploy a jewel cluster diff --git a/tox.ini b/tox.ini index 8ed67e887..7d7b6d3a8 100644 --- a/tox.ini +++ b/tox.ini @@ -244,7 +244,7 @@ changedir= commands= rhcs: ansible-playbook -vv -i "localhost," -c local {toxinidir}/tests/functional/rhcs_setup.yml --extra-vars "change_dir={changedir}" --tags "vagrant_setup" - vagrant up --no-provision {posargs:--provider=virtualbox} + bash {toxinidir}/tests/scripts/vagrant_up.sh --no-provision {posargs:--provider=virtualbox} bash {toxinidir}/tests/scripts/generate_ssh_config.sh {changedir} # configure lvm