From 52806cfdca12164f0757dcecd05c25c6aa4dda43 Mon Sep 17 00:00:00 2001 From: rpm-build Date: Tue, 4 Jun 2019 13:23:32 -0700 Subject: [PATCH] unit file tweaks --- etc/systemd/iscsi-mark-root-nodes | 29 +++++++++++++++++++++++++++++ etc/systemd/iscsi-onboot.service | 15 +++++++++++++++ etc/systemd/iscsi-shutdown.service | 14 ++++++++++++++ etc/systemd/iscsi.service | 10 +++++++--- etc/systemd/iscsid.service | 4 ++-- etc/systemd/iscsiuio.service | 2 +- 6 files changed, 68 insertions(+), 6 deletions(-) create mode 100755 etc/systemd/iscsi-mark-root-nodes create mode 100644 etc/systemd/iscsi-onboot.service create mode 100644 etc/systemd/iscsi-shutdown.service diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes new file mode 100755 index 0000000..e5a09c6 --- /dev/null +++ b/etc/systemd/iscsi-mark-root-nodes @@ -0,0 +1,29 @@ +#!/bin/bash + +ISCSIADM=/usr/sbin/iscsiadm +start_iscsid=0 +start_iscsiuio=0 + +while read t num p target flash; do + # strip tag number from portal, keep "ip:port" + portal=${p%,*} + transport=${t%:} + + # use session number to find the iface name in use + num=${num#[}; num=${num%]} + iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2) + + $ISCSIADM -m node -p $portal -T $target -I $iface -o update -n node.startup -v onboot + + start_iscsid=1 + + if [ "$transport" = bnx2i ] || [ "$transport" = qedi ]; then + start_iscsiuio=1 + fi +done < <( $ISCSIADM -m session ) + +# force iscsid and iscsiuio to start if needed for +# recovering sessions created in the initrd + +if [ "$start_iscsid" -eq 1 ]; then + systemctl --no-block start iscsid.service diff --git a/etc/systemd/iscsi-onboot.service b/etc/systemd/iscsi-onboot.service new file mode 100644 index 0000000..42ced68 --- /dev/null +++ b/etc/systemd/iscsi-onboot.service @@ -0,0 +1,15 @@ +[Unit] +Description=Special handling of early boot iSCSI sessions +Documentation=man:iscsiadm(8) man:iscsid(8) +DefaultDependencies=no +RefuseManualStart=true +Before=iscsi.service +After=systemd-remount-fs.service +ConditionDirectoryNotEmpty=/sys/class/iscsi_session + +[Service] +Type=oneshot +ExecStart=-/usr/libexec/iscsi-mark-root-nodes + +[Install] +WantedBy=sysinit.target diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service new file mode 100644 index 0000000..6848a72 --- /dev/null +++ b/etc/systemd/iscsi-shutdown.service @@ -0,0 +1,14 @@ +[Unit] +Description=Logout off all iSCSI sessions on shutdown +Documentation=man:iscsid(8) man:iscsiadm(8) +DefaultDependencies=no +Conflicts=shutdown.target +After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service +Before=remote-fs-pre.target +Wants=remote-fs-pre.target +RefuseManualStop=yes + +[Service] +Type=oneshot +RemainAfterExit=true +ExecStart=-/usr/bin/true diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service index 2f2bf81..51810c9 100644 --- a/etc/systemd/iscsi.service +++ b/etc/systemd/iscsi.service @@ -1,16 +1,20 @@ [Unit] Description=Login and scanning of iSCSI devices Documentation=man:iscsiadm(8) man:iscsid(8) +DefaultDependencies=no +Conflicts=shutdown.target Before=remote-fs.target +After=systemd-remount-fs.service iscsiuio.service After=network.target network-online.target After=iscsid.service iscsi-init.service Requires=iscsid.socket iscsi-init.service +Wants=remote-fs-pre.target iscsi-shutdown.service +ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes [Service] Type=oneshot -ExecStart=/sbin/iscsiadm -m node --loginall=automatic -ExecStop=/sbin/iscsiadm -m node --logoutall=automatic -ExecStop=/sbin/iscsiadm -m node --logoutall=manual +ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic +ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic SuccessExitStatus=21 15 RemainAfterExit=true diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service index 648ceea..79e63cd 100644 --- a/etc/systemd/iscsid.service +++ b/etc/systemd/iscsid.service @@ -1,6 +1,6 @@ [Unit] Description=Open-iSCSI -Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8) +Documentation=man:iscsid(8) man:iscsiuio(8) DefaultDependencies=no After=network.target iscsiuio.service Before=remote-fs-pre.target @@ -9,7 +9,7 @@ Wants=remote-fs-pre.target [Service] Type=notify NotifyAccess=main -ExecStart=/sbin/iscsid -f +ExecStart=/usr/sbin/iscsid -f KillMode=mixed Restart=on-failure diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service index 923e019..f92b0e7 100644 --- a/etc/systemd/iscsiuio.service +++ b/etc/systemd/iscsiuio.service @@ -12,7 +12,7 @@ Wants=remote-fs-pre.target [Service] Type=notify NotifyAccess=main -ExecStart=/sbin/iscsiuio -f +ExecStart=/usr/sbin/iscsiuio -f KillMode=mixed Restart=on-failure -- 2.26.2