[Bug 1922976] Re: iscsid fails to log out from target on shutdown

Michael Brown 1922976 at bugs.launchpad.net
Tue Apr 13 14:44:53 UTC 2021


On 13/04/2021 15:05, Christian Ehrhardt  wrote:
> This is a transient setup, but it should run the same hooks shouldn't it?
> In any case it does not have the same hang, the guest shuts down even it failing.
> To be fair the finalrd has issues, but not a full hang.
> 
> ...
> [  OK  ] Reached target Power-Off.
> Unexpected iSCSI Connection State, forcing iSCSI logout.
> Logging out of session [sid: 1, target: tgt-boot-test-reTuhW, portal: 10.0.12.2,3260]
> [  250.977777] sd-execu[1727]: /usr/lib/systemd/system-shutdown/open-iscsi.finalrd failed with exit status 141.

It looks as though you happen to be hitting an error condition, and the 
error handler (in iscsid?) happens to attempt to clear the error by 
logging out from the target, which entirely coincidentally happens to be 
the desired action from the finalrd script.  But this is happening by 
coincidence rather than by design.

On a "real" iSCSI-booted system, I do see the 30 second delay.

I was testing 20.04.

Thanks,

Michael

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

Title:
  iscsid fails to log out from target on shutdown

Status in open-iscsi package in Ubuntu:
  Triaged

Bug description:
  When using an iSCSI root filesystem, the /usr/share/finalrd/open-
  iscsi.finalrd script runs an instance of iscsid, waits for iscsid to
  find the existing logged-in sessions, and then logs out from the iSCSI
  target.

  This currently fails because iscsid happens to call getpwuid() on UID
  0.  Within the finalrd there are no libnss_*.so libraries and no
  /etc/passwd file, so the getpwuid() call returns NULL.  This causes
  iscsid to report an error "peeruser_unix: unknown local user with uid
  0", and prevents iscsid from recovering the existent session.  The end
  result is that the open-iscsi.finalrd script waits for its maximum 30
  seconds and then fails to log out from the iSCSI target.

  The error message is most easily observed by modifying
  /usr/share/finalrd/open-iscsi.finalrd to run iscsid as "iscsid -f -d
  8".

  An example of a minimal workaround may be seen at
  https://github.com/ipxe/sanbootable/commit/30bc58ce013a4db6b6d3480e42d4dc42d927fc5f

  (Ubuntu 20.04)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/open-iscsi/+bug/1922976/+subscriptions



More information about the foundations-bugs mailing list