summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2020-05-26 10:48:16 +0200
committerJonathan Bauer2020-05-26 10:48:16 +0200
commitd9ee9ca2c60b35ca8f5f9660a235f400782b500c (patch)
tree8453ed73a87e9a8697e55776d12e91e1882d31dc
parent[dnbd3-rootfs] minor formatting (diff)
parent[dnbd3-rootfs] retry dnbd3 connection on failure (diff)
downloadsystemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.tar.gz
systemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.tar.xz
systemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.zip
Merge branch 'master' into downloader-nobash-merge
-rwxr-xr-xmodules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh23
1 files changed, 13 insertions, 10 deletions
diff --git a/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh b/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
index f07d2803..88a4b70b 100755
--- a/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
+++ b/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
@@ -68,20 +68,23 @@ if [ -n "$SLX_DNBD3_RID" ]; then
fi
IFS=", "
-for host in ${SLX_DNBD3_SERVERS} FAIL; do
- if [ "$host" = "FAIL" ]; then
+for try in {1..5} FAIL; do
+ if [ "$try" = "FAIL" ]; then
emergency_shell "Failed to connect '${SLX_DNBD3_IMAGE}' "\
"${SLX_DNBD3_RID:+(revision: $SLX_DNBD3_RID)} "
"from one of '$SLX_DNBD3_SERVERS' to '$_dnbd3_dev'."
fi
- info "Trying host \"$host\"."
- if systemd-preserve-process-marker dnbd3-client \
- --host "$host" \
- --image "${SLX_DNBD3_IMAGE}" \
- --device "$_dnbd3_dev" \
- "${_dnbd3_client_additional_args[@]}"; then
- break
- fi
+ for host in ${SLX_DNBD3_SERVERS}; do
+ info "Trying host \"$host\"."
+ if systemd-preserve-process-marker dnbd3-client \
+ --host "$host" \
+ --image "${SLX_DNBD3_IMAGE}" \
+ --device "$_dnbd3_dev" \
+ "${_dnbd3_client_additional_args[@]}"; then
+ break 2
+ fi
+ sleep 1
+ done
done
# endregion