Comment 0 for bug 1922976

Revision history for this message
Michael Brown (mcb30) wrote :

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)