Blame SOURCES/0021-improve-systemd-service-files-for-boot-session-handl.patch

221d9a
From 77150edd697669467ff9f8775b93bd9d7a34cadf Mon Sep 17 00:00:00 2001
221d9a
From: rpm-build <rpm-build>
221d9a
Date: Mon, 28 Oct 2019 10:20:56 -0700
221d9a
Subject: [PATCH] improve systemd service files for boot session handling
221d9a
221d9a
---
221d9a
 etc/systemd/iscsi-mark-root-nodes  |  6 +++++-
221d9a
 etc/systemd/iscsi-onboot.service   | 15 +++++++++++++++
221d9a
 etc/systemd/iscsi-shutdown.service |  1 +
221d9a
 etc/systemd/iscsi.service          | 11 ++++-------
221d9a
 etc/systemd/iscsid.service         |  4 +---
221d9a
 etc/systemd/iscsiuio.service       |  1 -
221d9a
 6 files changed, 26 insertions(+), 12 deletions(-)
221d9a
 create mode 100644 etc/systemd/iscsi-onboot.service
221d9a
221d9a
diff --git a/etc/systemd/iscsi-mark-root-nodes b/etc/systemd/iscsi-mark-root-nodes
221d9a
index c693707..9d48805 100755
221d9a
--- a/etc/systemd/iscsi-mark-root-nodes
221d9a
+++ b/etc/systemd/iscsi-mark-root-nodes
221d9a
@@ -9,7 +9,11 @@ while read t num p target flash; do
221d9a
   portal=${p%,*}
221d9a
   transport=${t%:}
221d9a
 
221d9a
-  $ISCSIADM -m node -p $portal -T $target -o update -n node.startup -v onboot
221d9a
+  # use session number to find the iface name in use
221d9a
+  num=${num#[}; num=${num%]}
221d9a
+  iface=$(iscsiadm -m session -r $num | grep iface.iscsi_ifacename | cut -d= -f2)
221d9a
+
221d9a
+  $ISCSIADM -m node -p $portal -T $target -I $iface -o update -n node.startup -v onboot
221d9a
 
221d9a
   start_iscsid=1
221d9a
 
221d9a
diff --git a/etc/systemd/iscsi-onboot.service b/etc/systemd/iscsi-onboot.service
221d9a
new file mode 100644
221d9a
index 0000000..42ced68
221d9a
--- /dev/null
221d9a
+++ b/etc/systemd/iscsi-onboot.service
221d9a
@@ -0,0 +1,15 @@
221d9a
+[Unit]
221d9a
+Description=Special handling of early boot iSCSI sessions
221d9a
+Documentation=man:iscsiadm(8) man:iscsid(8)
221d9a
+DefaultDependencies=no
221d9a
+RefuseManualStart=true
221d9a
+Before=iscsi.service
221d9a
+After=systemd-remount-fs.service
221d9a
+ConditionDirectoryNotEmpty=/sys/class/iscsi_session
221d9a
+
221d9a
+[Service]
221d9a
+Type=oneshot
221d9a
+ExecStart=-/usr/libexec/iscsi-mark-root-nodes
221d9a
+
221d9a
+[Install]
221d9a
+WantedBy=sysinit.target
221d9a
diff --git a/etc/systemd/iscsi-shutdown.service b/etc/systemd/iscsi-shutdown.service
221d9a
index 69c1c77..caee933 100644
221d9a
--- a/etc/systemd/iscsi-shutdown.service
221d9a
+++ b/etc/systemd/iscsi-shutdown.service
221d9a
@@ -11,4 +11,5 @@ RefuseManualStop=yes
221d9a
 [Service]
221d9a
 Type=oneshot
221d9a
 RemainAfterExit=true
221d9a
+ExecStart=-/usr/bin/true
221d9a
 ExecStop=-/usr/sbin/iscsiadm -m node --logoutall=all
221d9a
diff --git a/etc/systemd/iscsi.service b/etc/systemd/iscsi.service
221d9a
index eadfcec..175cb2c 100644
221d9a
--- a/etc/systemd/iscsi.service
221d9a
+++ b/etc/systemd/iscsi.service
221d9a
@@ -1,21 +1,18 @@
221d9a
 [Unit]
221d9a
 Description=Login and scanning of iSCSI devices
221d9a
-Documentation=man:iscsid(8) man:iscsiadm(8)
221d9a
+Documentation=man:iscsiadm(8) man:iscsid(8)
221d9a
 DefaultDependencies=no
221d9a
-Conflicts=shutdown.target
221d9a
-After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
221d9a
 Before=remote-fs-pre.target
221d9a
+After=network.target network-online.target iscsid.service iscsiuio.service systemd-remount-fs.service
221d9a
 Wants=remote-fs-pre.target iscsi-shutdown.service
221d9a
-ConditionDirectoryNotEmpty=|/var/lib/iscsi/nodes
221d9a
-ConditionDirectoryNotEmpty=|/sys/class/iscsi_session
221d9a
+ConditionDirectoryNotEmpty=/var/lib/iscsi/nodes
221d9a
 
221d9a
 [Service]
221d9a
 Type=oneshot
221d9a
 RemainAfterExit=true
221d9a
-ExecStart=-/usr/libexec/iscsi-mark-root-nodes
221d9a
 ExecStart=-/usr/sbin/iscsiadm -m node --loginall=automatic
221d9a
 ExecReload=-/usr/sbin/iscsiadm -m node --loginall=automatic
221d9a
 SuccessExitStatus=21
221d9a
 
221d9a
 [Install]
221d9a
-WantedBy=sysinit.target
221d9a
+WantedBy=remote-fs.target
221d9a
diff --git a/etc/systemd/iscsid.service b/etc/systemd/iscsid.service
221d9a
index 8d50cf0..28402fb 100644
221d9a
--- a/etc/systemd/iscsid.service
221d9a
+++ b/etc/systemd/iscsid.service
221d9a
@@ -1,8 +1,7 @@
221d9a
 [Unit]
221d9a
 Description=Open-iSCSI
221d9a
-Documentation=man:iscsid(8) man:iscsiadm(8)
221d9a
+Documentation=man:iscsid(8) man:iscsiuio(8) man:iscsiadm(8)
221d9a
 DefaultDependencies=no
221d9a
-Conflicts=shutdown.target
221d9a
 After=network.target iscsiuio.service
221d9a
 Before=remote-fs-pre.target
221d9a
 
221d9a
@@ -10,7 +9,6 @@ Before=remote-fs-pre.target
221d9a
 Type=notify
221d9a
 NotifyAccess=main
221d9a
 ExecStart=/usr/sbin/iscsid -f
221d9a
-ExecStop=/usr/sbin/iscsiadm -k 0 2
221d9a
 KillMode=mixed
221d9a
 Restart=on-failure
221d9a
 
221d9a
diff --git a/etc/systemd/iscsiuio.service b/etc/systemd/iscsiuio.service
221d9a
index 8620cde..fc0be93 100644
221d9a
--- a/etc/systemd/iscsiuio.service
221d9a
+++ b/etc/systemd/iscsiuio.service
221d9a
@@ -2,7 +2,6 @@
221d9a
 Description=iSCSI UserSpace I/O driver
221d9a
 Documentation=man:iscsiuio(8)
221d9a
 DefaultDependencies=no
221d9a
-Conflicts=shutdown.target
221d9a
 Requires=iscsid.service
221d9a
 BindTo=iscsid.service
221d9a
 After=network.target
221d9a
-- 
221d9a
2.21.0
221d9a