diff options
author | Holger Levsen <holger@layer-acht.org> | 2015-09-10 17:09:18 +0200 |
---|---|---|
committer | Holger Levsen <holger@layer-acht.org> | 2015-09-10 17:09:18 +0200 |
commit | a4c42afb30d417603aa1dba99a5824e04d20ec51 (patch) | |
tree | 1fe993e169a43cea86cd0f63a0dac462604b3b90 | |
parent | 88e9f421269d7a6fc64fe99bc7d192701e4404fa (diff) | |
download | jenkins.debian.net-a4c42afb30d417603aa1dba99a5824e04d20ec51.tar.xz |
chroot-installation: retry once, if debootstrap fails to download packages
-rwxr-xr-x | bin/chroot-run.sh | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/bin/chroot-run.sh b/bin/chroot-run.sh index 7ce2ad28..dfdf75c8 100755 --- a/bin/chroot-run.sh +++ b/bin/chroot-run.sh @@ -53,12 +53,23 @@ bootstrap() { mkdir -p "$CHROOT_TARGET/etc/dpkg/dpkg.cfg.d" echo force-unsafe-io > "$CHROOT_TARGET/etc/dpkg/dpkg.cfg.d/02dpkg-unsafe-io" - echo "Bootstraping $DISTRO into $CHROOT_TARGET now." - if ! sudo debootstrap $BOOTSTRAP_OPTIONS $DISTRO $CHROOT_TARGET $MIRROR; then - SLEEPTIME=1800 - echo "debootstrap failed, slowing down, sleeping $SLEEPTIME now..." - sleep $SLEEPTIME - exit 1 + local TMPLOG=$(mktemp -p $CHROOT_BASE/ chroot-run-$DISTRO.XXXXXXXXX) + echo "$(date -u ) - bootstraping $DISTRO into $CHROOT_TARGET now." + set +e + sudo debootstrap BOOTSTRAP_OPTIONS $DISTRO $CHROOT_TARGET $MIRROR | tee $TMPLOG + local RESULT=$(egrep "E: Couldn't download packages" $TMPLOG) + rm $TMPLOG + set -e + if [ ! -z "$RESULT" ] ; then + echo "$(date -u) - initial debootstrap failed, sleeping 5min before retrying..." + sudo rm -rf --one-file-system $CHROOT_TARGET + sleep 5m + if ! sudo debootstrap BOOTSTRAP_OPTIONS $DISTRO $CHROOT_TARGET $MIRROR ; then + SLEEPTIME="30m" + echo "$(date -u ) - debootstrap failed, slowing down, sleeping $SLEEPTIME now..." + sleep $SLEEPTIME + exit 1 + fi fi cat > $CHROOT_TARGET/tmp/chroot-prepare <<-EOF |