Blame SOURCES/0001-unit-file-tweaks.patch

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