Comment 29 for bug 1462530

Revision history for this message
Scott Moser (smoser) wrote :

So, just to catch this bug up with where Oleg and I are.
a.) curtin installs multipath-tools-boot into the target with /dev, /proc and /sys mounted. However, it has disabled services from starting through ChrootableTarget's allow_services=False [1]. That uses disable_services_in_root [2].
b.) the way /etc/multipath/bindings is normally created is through the multipath daemon running

So, since we've blocked 'b', we dont get the file created and it doesn't get collected into the initramfs.

To solve this, we'll need to run a blocking command with no other side effects in the chroot that creates /etc/multipath/bindings. Oleg found that that can be accomplished with /multipath -r'.
    sudo sh -c 'rm -Rf /etc/multipath && multipath -r >/dev/null && ls -l /etc/multipath/bindings'

Last thing, a minor point, there is a race condition in the normal install path that could lead to initramfs not collecting /etc/multipath/bindings. This is because the daemon is started in the background, and is not guaranteed to create /etc/multipath/bindings before update-initramfs is run by the trigger.

--
[1] http://bazaar.launchpad.net/~curtin-dev/curtin/trunk/view/head:/curtin/util.py#L289
[2] http://bazaar.launchpad.net/~curtin-dev/curtin/trunk/view/head:/curtin/util.py#L257