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