Activity log for bug #1922976

Date Who What changed Old value New value Message
2021-04-07 22:42:12 Michael Brown bug added bug
2021-04-08 14:27:39 Utkarsh Gupta bug added subscriber Utkarsh Gupta
2021-04-09 13:01:06 Paride Legovini bug added subscriber Dimitri John Ledkov
2021-04-09 13:07:16 Paride Legovini open-iscsi (Ubuntu): status New Triaged
2021-04-09 13:07:29 Paride Legovini tags server-next
2021-04-13 14:11:55 Christian Ehrhardt  bug added subscriber Christian Ehrhardt 
2021-04-14 07:40:16 Christian Ehrhardt  nominated for series Ubuntu Groovy
2021-04-14 07:40:16 Christian Ehrhardt  bug task added open-iscsi (Ubuntu Groovy)
2021-04-14 07:40:16 Christian Ehrhardt  nominated for series Ubuntu Focal
2021-04-14 07:40:16 Christian Ehrhardt  bug task added open-iscsi (Ubuntu Focal)
2021-04-14 07:50:29 Launchpad Janitor merge proposal linked https://code.launchpad.net/~paelzer/ubuntu/+source/open-iscsi/+git/open-iscsi/+merge/401085
2021-04-14 07:51:14 Launchpad Janitor merge proposal linked https://code.launchpad.net/~paelzer/ubuntu/+source/open-iscsi/+git/open-iscsi/+merge/401086
2021-04-14 07:51:32 Launchpad Janitor merge proposal linked https://code.launchpad.net/~paelzer/ubuntu/+source/open-iscsi/+git/open-iscsi/+merge/401087
2021-04-14 08:13:03 Christian Ehrhardt  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) [Impact] * The finalrd hook [1] of openiscsi runs iscsid which wants to check for users [2] of its IPC peers. That fails for issues with nss in that environment. * The changes prep nss (libs) and if necesary fake a trivial /etc/passwd so that the code runs as expected * This avoids a delay or hang when running that code [1]: https://git.launchpad.net/ubuntu/+source/open-iscsi/tree/debian/open-iscsi.finalrd?h=ubuntu/hirsute-devel [2]: https://git.launchpad.net/ubuntu/+source/open-iscsi/tree/usr/mgmt_ipc.c?h=ubuntu/hirsute-devel#n371 [Test Plan] * Set up iscsi root and then shut-down the system * Check for errors or delay on the final cleanup which is here this code runs. [Where problems could occur] * Since the only thin the update touches is the finalrd hook there are two places to look out for a) finalrd generation which means look for finalrd.service b) shutdown of a system (as this is when systemd-shutdown pivots into this environment) [Other Info] * nss is in use very indirectly here from getpwuid in glibc via nssswicth config into the default value "file" to the lib * if unaware it might be worth to have a look at finalrd itself http://manpages.ubuntu.com/manpages/focal/man1/finalrd.1.html --- original report --- 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)
2021-04-14 08:13:31 Christian Ehrhardt  open-iscsi (Ubuntu Focal): status New Triaged
2021-04-14 08:13:33 Christian Ehrhardt  open-iscsi (Ubuntu Groovy): status New Triaged
2021-04-15 18:24:57 Launchpad Janitor open-iscsi (Ubuntu): status Triaged Fix Released
2021-04-26 10:56:45 Timo Aaltonen open-iscsi (Ubuntu Groovy): status Triaged Fix Committed
2021-04-26 10:56:47 Timo Aaltonen bug added subscriber Ubuntu Stable Release Updates Team
2021-04-26 10:56:49 Timo Aaltonen bug added subscriber SRU Verification
2021-04-26 10:56:53 Timo Aaltonen tags server-next server-next verification-needed verification-needed-groovy
2021-04-26 11:11:01 Timo Aaltonen open-iscsi (Ubuntu Focal): status Triaged Fix Committed
2021-04-26 11:11:07 Timo Aaltonen tags server-next verification-needed verification-needed-groovy server-next verification-needed verification-needed-focal verification-needed-groovy
2021-04-27 13:26:29 Michael Brown tags server-next verification-needed verification-needed-focal verification-needed-groovy server-next verification-done-focal verification-needed verification-needed-groovy
2021-04-27 13:57:55 Michael Brown tags server-next verification-done-focal verification-needed verification-needed-groovy server-next verification-done verification-done-focal verification-done-groovy
2021-05-06 08:17:59 Launchpad Janitor open-iscsi (Ubuntu Groovy): status Fix Committed Fix Released
2021-05-06 08:18:05 Łukasz Zemczak removed subscriber Ubuntu Stable Release Updates Team
2021-05-06 08:50:29 Launchpad Janitor open-iscsi (Ubuntu Focal): status Fix Committed Fix Released