]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-volume: retry when 'vagrant up' fails 23697/head
authorAndrew Schoen <aschoen@redhat.com>
Wed, 22 Aug 2018 20:37:46 +0000 (16:37 -0400)
committerAndrew Schoen <aschoen@redhat.com>
Fri, 24 Aug 2018 13:27:05 +0000 (09:27 -0400)
Signed-off-by: Andrew Schoen <aschoen@redhat.com>
src/ceph-volume/ceph_volume/tests/functional/batch/tox.ini
src/ceph-volume/ceph_volume/tests/functional/lvm/tox.ini
src/ceph-volume/ceph_volume/tests/functional/scripts/vagrant_up.sh [new file with mode: 0644]
src/ceph-volume/ceph_volume/tests/functional/simple/tox.ini

index 37a9c1819ab3ebec00395c8d1bf0aa2859dabba5..6a43a110e47eb540e13ffddcdf5243a0fea79907 100644 (file)
@@ -34,7 +34,7 @@ changedir=
 commands=
   git clone -b {env:CEPH_ANSIBLE_BRANCH:master} --single-branch https://github.com/ceph/ceph-ansible.git {envdir}/tmp/ceph-ansible
 
-  vagrant up {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
+  bash {toxinidir}/../scripts/vagrant_up.sh {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
   bash {toxinidir}/../scripts/generate_ssh_config.sh {changedir}
 
   cp {toxinidir}/../playbooks/deploy.yml {envdir}/tmp/ceph-ansible
index 97f5d51a39ed59fa4850bcbd72cd22240d50e775..d9f325543cd90ca8e4d7b6cf2ac7220868c9ed7c 100644 (file)
@@ -8,6 +8,7 @@ whitelist_externals =
     bash
     git
     cp
+    sleep
 passenv=*
 setenv=
   ANSIBLE_SSH_ARGS = -F {changedir}/vagrant_ssh_config
@@ -45,7 +46,7 @@ commands=
   # but the master branch doesn't pin dependencies so we can't guarantee to work correctly
   #pip install -r {envdir}/tmp/ceph-ansible/requirements.txt
 
-  vagrant up {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
+  bash {toxinidir}/../scripts/vagrant_up.sh {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
   bash {toxinidir}/../scripts/generate_ssh_config.sh {changedir}
 
   # create logical volumes to test with on the vms
diff --git a/src/ceph-volume/ceph_volume/tests/functional/scripts/vagrant_up.sh b/src/ceph-volume/ceph_volume/tests/functional/scripts/vagrant_up.sh
new file mode 100644 (file)
index 0000000..2f9a15f
--- /dev/null
@@ -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
index 632cbb02f2f5e406a1df332a3d7a8fae8d79a72e..5f506badc499db53b807fb31102cf8648b6ad7df 100644 (file)
@@ -42,7 +42,7 @@ commands=
   # but the master branch doesn't pin dependencies so we can't guarantee to work correctly
   #pip install -r {envdir}/tmp/ceph-ansible/requirements.txt
 
-  vagrant up {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
+  bash {toxinidir}/../scripts/vagrant_up.sh {env:VAGRANT_UP_FLAGS:"--no-provision"} {posargs:--provider=virtualbox}
   bash {toxinidir}/../scripts/generate_ssh_config.sh {changedir}
 
   cp {toxinidir}/../playbooks/deploy.yml {envdir}/tmp/ceph-ansible