Package: open-iscsi Version: 2.0.873+git0.3b4b4500-12 Tags: patch User: [email protected] Usertags: origin-ubuntu ubuntu-patch xenial
Hello, In https://launchpad.net/bugs/1057635 it was reported that an initramfs built during install does not contain a valid iscsi initiator name. This is because /etc/iscsi/initiatorname.iscsi is currently created by the init scripts, not the postinst. Thus if d-i installs open-iscsi, or if you build an OS in a schroot, this will never happen and the built initramfs will contain only the dummy initiatorname.iscsi. James Page fixed this a few years ago in Ubuntu, I adjusted the patch to the current Debian version. Disclaimer: I don't know much about open-iscsi, I'm just looking into our delta and see what's still relevant and what would be beneficial to Debian too. Thanks for considering, Martin -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
diff -Nru open-iscsi-2.0.873+git0.3b4b4500/debian/changelog open-iscsi-2.0.873+git0.3b4b4500/debian/changelog --- open-iscsi-2.0.873+git0.3b4b4500/debian/changelog 2015-10-21 11:49:30.000000000 +0200 +++ open-iscsi-2.0.873+git0.3b4b4500/debian/changelog 2016-01-11 12:39:48.000000000 +0100 @@ -1,3 +1,12 @@ +open-iscsi (2.0.873+git0.3b4b4500-13) UNRELEASED; urgency=medium + + * debian/open-iscsi.postinst: Generate initiator name on install, not first + boot, ensuring that the initramfs built during install contains a valid + iSCSI initiator name resulting in a iSCSI based root volume that will + actually boot. Drop debian/initiatorname.iscsi stub. (LP: #1057635) + + -- Martin Pitt <[email protected]> Mon, 11 Jan 2016 12:38:07 +0100 + open-iscsi (2.0.873+git0.3b4b4500-12) unstable; urgency=low [ Christian Perrier ] diff -Nru open-iscsi-2.0.873+git0.3b4b4500/debian/initiatorname.iscsi open-iscsi-2.0.873+git0.3b4b4500/debian/initiatorname.iscsi --- open-iscsi-2.0.873+git0.3b4b4500/debian/initiatorname.iscsi 2015-08-20 15:51:06.000000000 +0200 +++ open-iscsi-2.0.873+git0.3b4b4500/debian/initiatorname.iscsi 1970-01-01 01:00:00.000000000 +0100 @@ -1 +0,0 @@ -GenerateName=yes diff -Nru open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.install open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.install --- open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.install 2015-10-21 11:49:30.000000000 +0200 +++ open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.install 2016-01-11 12:40:21.000000000 +0100 @@ -4,7 +4,6 @@ usr/iscsistart /sbin utils/iscsi_discovery /sbin utils/iscsi-iname /sbin -debian/initiatorname.iscsi /etc/iscsi etc/iscsid.conf /etc/iscsi debian/extra/initramfs.hook => /usr/share/initramfs-tools/hooks/iscsi debian/extra/initramfs.local-top => /usr/share/initramfs-tools/scripts/local-top/iscsi diff -Nru open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.postinst open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.postinst --- open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.postinst 2015-10-21 11:49:30.000000000 +0200 +++ open-iscsi-2.0.873+git0.3b4b4500/debian/open-iscsi.postinst 2016-01-11 12:38:05.000000000 +0100 @@ -68,6 +68,30 @@ rmdir --ignore-fail-on-non-empty /var/lib/open-iscsi fi + # generate a unique iSCSI InitiatorName + NAMEFILE=/etc/iscsi/initiatorname.iscsi + if [ ! -e $NAMEFILE ] && [ -z "$2" ] ; then + if [ ! -x /usr/sbin/iscsi-iname ] ; then + echo "Error: /usr/sbin/iscsi-iname does not exist, driver was not successfully installed" + exit 1; + fi + # Generate a unique InitiatorName and save it + INAME=`/usr/sbin/iscsi-iname -p iqn.1993-08.org.debian:01` + if [ "$INAME" != "" ] ; then + echo "## DO NOT EDIT OR REMOVE THIS FILE!" > $NAMEFILE + echo "## If you remove this file, the iSCSI daemon will not start." >> $NAMEFILE + echo "## If you change the InitiatorName, existing access control lists" >> $NAMEFILE + echo "## may reject this initiator. The InitiatorName must be unique">> $NAMEFILE + echo "## for each iSCSI initiator. Do NOT duplicate iSCSI InitiatorNames." >> $NAMEFILE + printf "InitiatorName=$INAME\n" >> $NAMEFILE + chmod 600 $NAMEFILE + else + echo "Error: failed to generate an iSCSI InitiatorName, driver cannot start." + echo + exit 1; + fi + fi + update_initramfs ;;

