From aa3c69cf9751072a461a962f7b81324b18f9dfec Mon Sep 17 00:00:00 2001 From: Johannes Schauer Marin Rodrigues Date: Thu, 22 Dec 2022 08:09:21 +0100 Subject: .gitlab-ci.yml: wait for system to be ready for ssh connections before continueing --- .gitlab-ci.yml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to '.gitlab-ci.yml') diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index b6ec557..65bd73d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -24,9 +24,22 @@ simpletest: script: - apt-get update - apt-get dist-upgrade --yes - - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm + - apt-get --no-install-recommends --yes install e2fsprogs genext2fs mmdebstrap openssh-client qemu-kvm sleepenh - ssh-keygen -f ~/.ssh/id -N '' - ./debvm-create -k ~/.ssh/id.pub -r $RELEASE - timeout 120s ./debvm-run -s 2222 & - - sleep 15 + - | + set -x + timeout=5 + ts=$(sleepenh 0 || [ $? -eq 1 ]) + for i in $(seq 10); do + rv=0 + ssh -o StrictHostKeyChecking=no -o ConnectTimeout="$timeout" -i ~/.ssh/id -p 2222 root@localhost echo success || rev=$? + test $rv -eq 0 && break + ts=$(sleepenh "$ts" "$timeout" || [ $? -eq 1 ]); + if test $i -eq 10; then + echo "timeout reached" >&2 + exit 1 + fi + done - ssh -o StrictHostKeyChecking=no -i ~/.ssh/id -p 2222 root@localhost poweroff -- cgit v1.2.3