]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
95iscsi: fix ipv6 target discovery
authorThomas Blume <Thomas.Blume@suse.com>
Mon, 6 Jul 2020 13:16:35 +0000 (15:16 +0200)
committerDaniel Molkentin <daniel@molkentin.de>
Thu, 9 Jul 2020 19:19:43 +0000 (21:19 +0200)
ipv6 addresses need square brackets, otherwise the iscsi discovery and log-in,
which adds the iscsi port after another colon will get confused and fail.

modules.d/95iscsi/iscsiroot.sh

index cc2ed2cc1f4860c8b20f99a1228cfc0d8bdafa2f..ac43b4871a5e99ed694beb32d8c7b2786b6f2eae 100755 (executable)
@@ -213,6 +213,9 @@ handle_netroot()
             echo "iscsi_lun=$iscsi_lun . /bin/mount-lun.sh " > $hookdir/mount/01-$$-iscsi.sh
     fi
 
+    if strglobin $iscsi_target_ip '*:*:*' && ! strglobin $iscsi_target_ip '['; then
+        iscsi_target_ip="[$iscsi_target_ip]"
+    fi
     targets=$(iscsiadm -m discovery -t st -p $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} | sed 's/^.*iqn/iqn/')
     [ -z "$targets" ] && echo "Target discovery to $iscsi_target_ip:${iscsi_target_port:+$iscsi_target_port} failed with status $?" && exit 1