[Bug 696435] Re: wait-for-root fails to detect nbd root
Brian Murray
brian at ubuntu.com
Thu Mar 8 17:33:55 UTC 2018
Hello Alkis, or anyone else affected,
Accepted systemd into xenial-proposed. The package will build now and be
available at
https://launchpad.net/ubuntu/+source/systemd/229-4ubuntu21.2 in a few
hours, and then in the -proposed repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how
to enable and use -proposed.Your feedback will aid us getting this
update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested and change the tag from
verification-needed-xenial to verification-done-xenial. If it does not
fix the bug for you, please add a comment stating that, and change the
tag to verification-failed-xenial. In either case, without details of
your testing we will not be able to proceed.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: systemd (Ubuntu Xenial)
Status: In Progress => Fix Committed
** Tags removed: verification-done-xenial
** Tags added: verification-needed verification-needed-xenial
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/696435
Title:
wait-for-root fails to detect nbd root
Status in linux package in Ubuntu:
Fix Released
Status in nbd package in Ubuntu:
Invalid
Status in systemd package in Ubuntu:
Fix Released
Status in linux source package in Xenial:
Fix Released
Status in systemd source package in Xenial:
Fix Committed
Bug description:
[Impact]
Kernel does not generate any events when ndb-client connects /dev/nbd0 devices, therefore it is impossible to monitor/react to the state of /dev/nbd0.
[Fix]
Generate change uevent when size of /dev/nbd0 changes
[Testcase]
* Start udevadm monitor
* modprobe nbd
* use ndb-client to connect something to /dev/nbd0
* observe that there are change udev events generated on /dev/nbd0 itself
[Regression Potential]
There is no change to existing uevents, or their ordering.
There is now an addition change event which will cause systemd to mark ndb devices as ready and trigger appropriate actions
[Original Bug Report]
When using an nbd root, wait-for-root blocks for 30 seconds before
booting continues successfully.
Using Ubuntu Natty, related packages versions:
nbd-client 1:2.9.16-6ubuntu1
initramfs-tools 0.98.1ubuntu9
The wait-for-root call from /usr/share/initramfs-tools/scripts/local:
while [ -z "${FSTYPE}" ]; do
FSTYPE=$(wait-for-root "${ROOT}" ${ROOTDELAY:-30})
# Run failure hooks, hoping one of them can fix up the system
# and we can restart the wait loop. If they all fail, abort
# and move on to the panic handler and shell.
if [ -z "${FSTYPE}" ] && ! try_failure_hooks; then
break
fi
done
I replaced wait-for-root with a sh script that did `set >&2`, here are the relevant environment variables at the time wait-for-root was called:
ROOT='/dev/nbd0'
ROOTDELAY=''
ROOTFLAGS=''
ROOTFSTYPE=''
nbdroot='192.168.0.1,2011'
It's probably worth noting that "nbd0: unknown partition table" was
displayed asynchronously 1-2 seconds after wait-for-root was invoked
and while it was still waiting. But I tried adding a "sleep 5" as the
last line of local-top/nbd, so that the nbd message was displayed a
lot before wait-for-root was called, and it didn't make a difference.
So I don't think a race condition is involved in this problem.
Temporarily I'm passing rootdelay=1 in the kernel command line to work
around the problem.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/696435/+subscriptions
More information about the foundations-bugs
mailing list