diff options
Diffstat (limited to 'core/modules/dnbd3-proxy-mode/data/opt/openslx')
-rwxr-xr-x | core/modules/dnbd3-proxy-mode/data/opt/openslx/scripts/systemd-setup_dnbd3_proxy | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/core/modules/dnbd3-proxy-mode/data/opt/openslx/scripts/systemd-setup_dnbd3_proxy b/core/modules/dnbd3-proxy-mode/data/opt/openslx/scripts/systemd-setup_dnbd3_proxy index e45272a6..771bc707 100755 --- a/core/modules/dnbd3-proxy-mode/data/opt/openslx/scripts/systemd-setup_dnbd3_proxy +++ b/core/modules/dnbd3-proxy-mode/data/opt/openslx/scripts/systemd-setup_dnbd3_proxy @@ -283,6 +283,30 @@ if [ -n "$islocal" ]; then adduser dnbd3 fuse # Start service, is not symlinked when not in proxy mode systemctl --no-block start dnbd3-proxy.service + ( + # give it some time to start + usleep 500000 + for i in 1 2 3 4 5 ""; do + [ -z "$i" ] && exit 1 + if echo | busybox timeout 1 busybox nc 127.0.0.1 "$DNBD3_PORT"; then + break + fi + echo "fail #$i" + sleep 1 + done + + # it's up, so let's try to add the server + if ! dnbd3-client -A 127.0.0.1 -d /dev/dnbd0; then + # failed, either the dnbd3-client doesn't support -A or + # it is still not up. + exit 1 + fi + + if ! dnbd3-client -s 127.0.0.1 -d /dev/dnbd0; then + # localhost still not found even though its in alt-servers !? + exit 1337 + fi + ) & fi exit 0 |