summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
diff options
context:
space:
mode:
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh')
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh23
1 files changed, 13 insertions, 10 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh b/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
index 28bb5176..cb0dc10e 100755
--- a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
+++ b/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
@@ -73,20 +73,23 @@ exceptions.try
{
(
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
- logging.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
+ logging.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