** Description changed:

- [Impact]
- 
  To address bug 2080474, we now install multipath-tools-boot when
  building Ubuntu server live ISOs so that the multipath stack is present
  in the initramfs.
  
  Unfortunately, when booting the installer, the first invocation of
  `multipathd -B` (as it's done by the init-top script) fails because the
  /etc/multipath/bindings file does not exist:
  
  # multipath -B -d
  | multipathd v0.11.1: start up
  | reconfigure: setting up paths and maps
  | _check_bindings_file: failed to read header from /etc/multipath/bindings
  | ERROR: bad settings in read-only bindings file /etc/multipath/bindings
  | fatal error applying configuration - aborting
  | multipathd: shut down
  
  I say _first_ invocation, because surprisingly, the failing multipathd
  command still initializes the /etc/multipath/bindings file properly, so
  the next invocation of the same command can succeed.
  
  # cat /etc/multipath/bindings
  # Multipath bindings, Version : 1.0
  # NOTE: this file is automatically maintained by the multipath program.
  # You should not need to edit this file in normal circumstances.
  #
  # Format:
  # alias wwid
  #
  
  # multipathd -B -d
  | multipathd v0.11.1: start up
  | reconfigure: setting up paths and maps
  
  The initramfs-tools hook script for multipath can copy over the
  /etc/multipath/bindings file to the initramfs, but only does so if it
  exists, which is not the case just after installing multipath-tools-boot
  in the image building process.
  
- [ Test plan ]
- 
- * Install a VM with the latest Ubuntu 24.04
-    $ kvm-test --install --iso /srv/iso/ubuntu-24.04.4-live-server-amd64.iso
- * Boot the guest, install multipath-tools-boot
-    $ kvm-test --boot
-    (guest) $ sudo apt install multipath-tools-boot
- * Remove the /etc/multipath/bindings file (to simulate the image building 
environment) then regenerate the initramfs
-    (guest) $ sudo rm /etc/multipath/bindings
-    (guest) $ sudo update-initramfs -u
- * Restart the guest, and interrupt grub by mashing the "e" key
- * Add the "break=top" kernel argument, then hit ctrl-x to continue the boot 
process
- * Once in the initramfs shell, run the following command:
-    $ modprobe dm-multipath
-    $ scripts/init-top/multipath
- * Now ensure that multipathd is actually running:
-    $ ps | grep multipath
- 
- One can find kvm-test in ppa:ogayot/subiquity or at
- https://github.com/canonical/subiquity/blob/main/scripts/kvm-test.py
- 
- [ Where problems could occur ]
- 
- * The change in multipath-tools-boot will affect all installations using
- multipath. However, a single call to multipath (in dry-run mode)
- immediately before the actual call to multipathd should be harmless. If
- the bindings file already exists (which should be the case for everyone
- except for the installer ISOs), the command should exit very quickly.
- The delay it would introduce should be negligible.
- 
- [ Other info ]
- 
- This is needed in conjunction with bug 2080474. The associated MP has
- both fixes included.
+ Affected versions: multipath-tools 0.9.4 (noble) is not affected.
+ multipathd -B -d runs properly with no bindings file there.

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

Title:
  multipathd fails to start in Ubuntu installer's initramfs (no bindings
  file)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/2120444/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to