Hi @mathieu-tl,

Here is the patch for Xenial.

Differences from the patch for Trusty:
1) install udev rule with priority 56, so it's run after 55-scsi-sg3_id; this 
way the paths actually have scsi id udev attributes defined by the time 
'multipath -c' runs, and now it works fine (fixes the issue you mentioned on 
IRC).
2) remove the old multipath discovery udev rule (just like you applied for 
trusty, on multipath-tools 0.4.9-3ubuntu7.5)
3) debian/initramfs/init-top already exists, so just insert the snippet to load 
the module (rather than create the file).

Test-case:

1) Boot a qemu-kvm guest [1] w/ xenial (LVM on top of multipath) w/ the 
break=pre-multipath boot option 
2) exit all 3 initramfs prompts
3) this should make LVM scan run before multipath discovery; the latter fails 
to create the devmap, thus mpartX-part2 (for /boot) is not present, and the 
boot is interrupted.

        ...
        (initramfs) exit
        ...
        (initramfs) exit
        ...
        (initramfs) exit
        ...
        [   82.361944] device-mapper: table: 252:3: multipath: error getting 
device
        [   82.362292] device-mapper: table: 252:2: multipath: error getting 
device
        [   82.399493] device-mapper: table: 252:3: multipath: error getting 
device
        [  OK  ] Found device /dev/mapper/mauricfo4--vg-swap_1.
                 Activating swap /dev/mapper/mauricfo4--vg-swap_1...
        [  OK  ] Activated swap /dev/mapper/mauricfo4--vg-swap_1.
        [  OK  ] Reached target Swap.
        [ TIME ] Timed out waiting for device dev-mapper-mpatha\x2dpart2.device.
        [DEPEND] Dependency failed for /boot.
        [DEPEND] Dependency failed for Local File Systems.
        [DEPEND] Dependency failed for Clean up any mess left by 0dns-up.
        [DEPEND] Dependency failed for File System Check on 
/dev/mapper/mpatha-part2.
        ...
        Welcome to emergency mode! After logging in, type "journalctl -xb" to 
view
        system logs, "systemctl reboot" to reboot, "systemctl default" or ^D to
        try again to boot into default mode.
        Press Enter for maintenance
        (or press Control-D to continue):

        root@mauricfo4:~# lvm pvdisplay | grep Name
          Found duplicate PV hWoIFGkvc0iVrbZnzhhqxud6QTeotfmQ: using /dev/sda3 
not /dev/sdb3
          Using duplicate PV /dev/sda3 without holders, ignoring /dev/sdb3
          Found duplicate PV hWoIFGkvc0iVrbZnzhhqxud6QTeotfmQ: using /dev/sda3 
not /dev/sdb3
          Using duplicate PV /dev/sda3 without holders, ignoring /dev/sdb3
          PV Name               /dev/sda3
          VG Name               mauricfo4-vg

With the patch applied, the partition nodes are removed, LVM only scans
the multipath devices, and the boot finishes successfully:

        ...
        (initramfs) exit
        ...
        (initramfs) ls -l /dev/sd*
        brw-------    1    8,  16 /dev/sdb
        brw-------    1    8,   0 /dev/sda

        initramfs) dmsetup table
        No devices found

        (initramfs) exit
        ...
        (initramfs) dmsetup table | sort
        mauricfo4--vg-root: 0 63750144 linear 252:3 2048
        mauricfo4--vg-swap_1: 0 2834432 linear 252:3 63752192
        mpatha-part1: 0 14336 linear 252:0 2048
        mpatha-part2: 0 499712 linear 252:0 16384
        mpatha-part3: 0 66590720 linear 252:0 516096
        mpatha: 0 67108864 multipath 0 0 2 1 round-robin 0 1 1 8:0 1 
round-robin 0 1 1 8:16 1 

        (initramfs) lvm pvdisplay | grep Name
          ...
          PV Name               /dev/mapper/mpatha-part3
          VG Name               mauricfo4-vg

        (initramfs) exit
        ...

        # lsb_release -c
        Codename:       xenial

        # mount | grep ' / '
        /dev/mapper/mauricfo4--vg-root on / type ext4 
(rw,relatime,errors=remount-ro,data=ordered)

        # lvm pvdisplay | grep Name
          PV Name               /dev/mapper/mpatha-part3
          VG Name               mauricfo4-vg

        # dmsetup ls --tree -o blkdevname
        mauricfo4--vg-swap_1 <dm-5> (252:5)
         └─mpatha-part3 <dm-3> (252:3)
            └─mpatha <dm-0> (252:0)
               ├─ <sdb> (8:16)
               └─ <sda> (8:0)
        mpatha-part2 <dm-2> (252:2)
         └─mpatha <dm-0> (252:0)
            ├─ <sdb> (8:16)
            └─ <sda> (8:0)
        mpatha-part1 <dm-1> (252:1)
         └─mpatha <dm-0> (252:0)
            ├─ <sdb> (8:16)
            └─ <sda> (8:0)
        mauricfo4--vg-root <dm-4> (252:4)
         └─mpatha-part3 <dm-3> (252:3)
            └─mpatha <dm-0> (252:0)
               ├─ <sdb> (8:16)
               └─ <sda> (8:0)

[1] qemu command line: commandline: qemu-system-ppc64 -enable-kvm
-nographic -nodefaults -monitor stdio -serial pty -M pseries -smp
1,cores=1,threads=1 -m 8G -drive file=disk.qcow2,serial=xenialroot
-drive file=disk.qcow2,serial=xenialroot -S

** Patch added: "Patch for Xenial"
   
https://bugs.launchpad.net/ubuntu/+source/multipath-tools/+bug/1540401/+attachment/4569667/+files/multipath-tools_dm-mpath-lvm_xenial.debdiff

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

Title:
  ISST-LTE: Ubuntu14.04.4 lpar fails to boot after installation: "The
  disk drive for /boot is not ready yet or not present"

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

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

Reply via email to