## SUMMARY 1

Affects open-iscsi (NOT systemd):

* ISCSID NEEDS TO BE UP & RUNNING (AND LOGGED TO PORTAL) FOR THE LOGOUT
TO WORK

https://pastebin.canonical.com/197359/

Daemon shutdown documentation in iscsiadm command says (about stopping iscsid 
daemon with iscsiadm -k): 
""" ... This will immediately stop all iscsid operations and shutdown iscsid. 
It does not logout any sessions. Running this command is the same as doing 
"killall iscsid". Neither should normally be used, because if iscsid is doing 
error recovery or if there is an error while iscsid is not running, the system 
may not be able to recover. This command and iscsid's SIGTERM handling are 
experimental. """

Basically meaning you're not able to shutdown the daemon in a clean
manner if you have connected sessions. And basically, checking the
pastebin, you see the need for running iscsid daemon to logout through
iscsiadm command.

So from:
 
(systemctl edit --full open-iscsi.service)
...
Wants=network-online.target remote-fs-pre.target iscsid.service
After=network-online.target iscsid.service
Before=remote-fs-pre.target
...
ExecStartPre=/bin/systemctl --quiet is-active iscsid.service
ExecStart=/sbin/iscsiadm -m node --loginall=automatic
ExecStart=/lib/open-iscsi/activate-storage.sh
ExecStop=/lib/open-iscsi/umountiscsi.sh
ExecStop=/bin/sync
ExecStop=/lib/open-iscsi/logout-all.sh
...

and

(systemctl edit --full iscsid.service)
...
Wants=network-online.target remote-fs-pre.target
Before=remote-fs-pre.target
After=network.target network-online.target
...
ExecStartPre=/lib/open-iscsi/startup-checks.sh
ExecStart=/sbin/iscsid
ExecStop=/sbin/iscsiadm -k 0 2
...

If umountiscsi.sh (it doesn't kill applications using a mount point)
can't umount a mount point (from fstab generator or a mount unit) that
is still being used, the logout-all.sh will fail for logging out the
session of the disk being used. But this service unit would be
considered stopped, allowing "iscsid.service" unit to also be shutdown
(killing the iscsid daemon and leaving an opened iscsi session).

This would be problematic for iscsi root disks AND for the kernel issue
(comment #73), and this is being taken care by Francis Ginther
(fginther) in the next iscsi SRU: https://pastebin.canonical.com/196463/
by creating an iscsi-cleanup.service that will run a script that logs
out all remaining iscsi sessions (including /) right before kernel
shutdown is called by systemd-shutdown like showed in comment #73.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1569925

Title:
  Shutdown hang on 16.04 with iscsi targets

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1569925/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to