]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
test(ISCSI): wait for tgtd startup
authorBenjamin Drung <benjamin.drung@canonical.com>
Mon, 13 Apr 2026 20:25:37 +0000 (22:25 +0200)
committerdevkontrol <dev@kontrol.dev>
Mon, 13 Apr 2026 21:03:29 +0000 (17:03 -0400)
Test 71 (ISCSI-MULTI) sometimes fails when starting the server:

```
+ tgtd
+ tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2009-06.dracut:target0
tgtadm: failed to send request hdr to tgt daemon, Transport endpoint is not connected
+ _poweroff
+ local exit_code=107
+ set +x
Error: /sbin/init failed with exit code 107.
Powering down.
```

The tgtadm command is called before tgtd finished starting up. So add
waiting for tgtd service to be ready.

test/TEST-70-ISCSI/server-init.sh
test/TEST-71-ISCSI-MULTI/server-init.sh

index 16a50d7b9aa53a5e731574dae883424ba890031a..2bf581eac991b71985638a43825bc962fb62fd25 100755 (executable)
@@ -60,6 +60,16 @@ wait_for_route_ok() {
     return 1
 }
 
+wait_for_tgtd_startup() {
+    local cnt=0
+    while [ $cnt -lt 200 ]; do
+        tgtadm --mode target --op show && return 0
+        sleep 0.1
+        cnt=$((cnt + 1))
+    done
+    return 1
+}
+
 linkup() {
     wait_for_if_link "$1" 2> /dev/null && ip link set "$1" up 2> /dev/null && wait_for_if_up "$1" 2> /dev/null
 }
@@ -76,6 +86,7 @@ linkup enx525400123457
 dnsmasq
 
 tgtd
+wait_for_tgtd_startup
 tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2009-06.dracut:target0
 tgtadm --lld iscsi --mode target --op new --tid 2 --targetname iqn.2009-06.dracut:target1
 tgtadm --lld iscsi --mode target --op new --tid 3 --targetname iqn.2009-06.dracut:target2
index 7af8b2da6ea7c108f93b81d856f4893db0827c9f..51830e640f08d4a42e8da0e6d3ab3b3ae5b8ee42 100755 (executable)
@@ -60,6 +60,16 @@ wait_for_route_ok() {
     return 1
 }
 
+wait_for_tgtd_startup() {
+    local cnt=0
+    while [ $cnt -lt 200 ]; do
+        tgtadm --mode target --op show && return 0
+        sleep 0.1
+        cnt=$((cnt + 1))
+    done
+    return 1
+}
+
 linkup() {
     wait_for_if_link "$1" 2> /dev/null && ip link set "$1" up 2> /dev/null && wait_for_if_up "$1" 2> /dev/null
 }
@@ -76,6 +86,7 @@ linkup enx525400123457
 dnsmasq
 
 tgtd
+wait_for_tgtd_startup
 tgtadm --lld iscsi --mode target --op new --tid 1 --targetname iqn.2009-06.dracut:target0
 tgtadm --lld iscsi --mode target --op new --tid 2 --targetname iqn.2009-06.dracut:target1
 tgtadm --lld iscsi --mode target --op new --tid 3 --targetname iqn.2009-06.dracut:target2