diff options
author | Jonathan Bauer | 2020-05-26 10:48:16 +0200 |
---|---|---|
committer | Jonathan Bauer | 2020-05-26 10:48:16 +0200 |
commit | d9ee9ca2c60b35ca8f5f9660a235f400782b500c (patch) | |
tree | 8453ed73a87e9a8697e55776d12e91e1882d31dc | |
parent | [dnbd3-rootfs] minor formatting (diff) | |
parent | [dnbd3-rootfs] retry dnbd3 connection on failure (diff) | |
download | systemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.tar.gz systemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.tar.xz systemd-init-d9ee9ca2c60b35ca8f5f9660a235f400782b500c.zip |
Merge branch 'master' into downloader-nobash-merge
-rwxr-xr-x | modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh | 23 |
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 |