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.
This commit is contained in:
Matthew Garrett 2016-04-18 15:06:52 -07:00
parent 8fb48ff69f
commit 7510ad76af
3 changed files with 14 additions and 1 deletions

View File

@ -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/machine-id) >/etc/iscsi/initiatorname.iscsi'

View File

@ -1,7 +1,8 @@
[Unit] [Unit]
Description=Open-iSCSI Description=Open-iSCSI
Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) 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] [Service]
Type=forking Type=forking

View File

@ -89,8 +89,10 @@ src_install() {
systemd_dounit "${FILESDIR}"/iscsid.service systemd_dounit "${FILESDIR}"/iscsid.service
systemd_dounit "${FILESDIR}"/iscsid.socket systemd_dounit "${FILESDIR}"/iscsid.socket
systemd_dounit "${FILESDIR}/iscsid-initiatorname.service
systemd_dotmpfilesd "${FILESDIR}"/open-iscsi.conf systemd_dotmpfilesd "${FILESDIR}"/open-iscsi.conf
fperms 600 /etc/iscsi/iscsid.conf fperms 600 /etc/iscsi/iscsid.conf
rm "${D}"/etc/iscsi/initiatorname.iscsi
mv "${D}"/etc/iscsi "${D}"/usr/share/iscsi mv "${D}"/etc/iscsi "${D}"/usr/share/iscsi
} }