From 7510ad76af4cf80b933acb4d394b0074ca385a4c Mon Sep 17 00:00:00 2001 From: Matthew Garrett Date: Mon, 18 Apr 2016 15:06:52 -0700 Subject: [PATCH] Generate an initiator name on first boot or after reset The initiator name should be unique to the machine, so it has to be generated. Use a stable base and the machine-id to achieve this. --- .../open-iscsi/files/iscsid-initiatorname.service | 10 ++++++++++ .../sys-block/open-iscsi/files/iscsid.service | 3 ++- ...-2.0.873-r1.ebuild => open-iscsi-2.0.873-r2.ebuild} | 2 ++ 3 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid-initiatorname.service rename sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/{open-iscsi-2.0.873-r1.ebuild => open-iscsi-2.0.873-r2.ebuild} (96%) diff --git a/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid-initiatorname.service b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid-initiatorname.service new file mode 100644 index 0000000000..41c04ca1d6 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid-initiatorname.service @@ -0,0 +1,10 @@ +# Generate an iSCSI initiator name if one doesn't already exist +[Unit] +Description=iSCSI initiator name generator +After=systemd-tmpfiles-setup.service +ConditionPathExists=!/etc/iscsi/initiatorname.iscsi +DefaultDependencies=no + +[Service] +Type=oneshot +ExecStart=/bin/sh -c 'echo InitiatorName=iqn.2016-04.com.coreos.iscsi:$(/etc/iscsi/initiatorname.iscsi' diff --git a/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid.service b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid.service index 4846340cf0..322d37eee5 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid.service +++ b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/files/iscsid.service @@ -1,7 +1,8 @@ [Unit] Description=Open-iSCSI Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) -After=network.target NetworkManager-wait-online.service iscsiuio.service tgtd.service targetcli.service +After=network.target NetworkManager-wait-online.service iscsid-initiatorname.service iscsiuio.service tgtd.service targetcli.service +Requires=iscsid-initiatorname.service [Service] Type=forking diff --git a/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r2.ebuild similarity index 96% rename from sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r1.ebuild rename to sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r2.ebuild index 7337afa88d..2d388d0998 100644 --- a/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/sys-block/open-iscsi/open-iscsi-2.0.873-r2.ebuild @@ -89,8 +89,10 @@ src_install() { systemd_dounit "${FILESDIR}"/iscsid.service systemd_dounit "${FILESDIR}"/iscsid.socket + systemd_dounit "${FILESDIR}/iscsid-initiatorname.service systemd_dotmpfilesd "${FILESDIR}"/open-iscsi.conf fperms 600 /etc/iscsi/iscsid.conf + rm "${D}"/etc/iscsi/initiatorname.iscsi mv "${D}"/etc/iscsi "${D}"/usr/share/iscsi }