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

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