** Description changed:

+ === Begin SRU Information ===
+ [Description]
+ When curtin installs to a system that has multipath devices, it does not 
recognize this and enable them.
+ The result is that a system that has multipath devices installed will have 
Ubuntu installed to one of the non-multipath paths.  The end user is then 
confused because they see root installed on /dev/sda1 and another device 
/dev/sdg1 (or other name) that has the same content as /dev/sda1.  In addition 
to this confusion, if the user decides to use /dev/sdg1 and format it, they'll 
have shot themselves in the foot by destroying their root partition.
+ 
+ The general solution is to install multipath-tools-boot when the system is 
detected to have multipath devices. To do this, curtin does:
+ curtin currently does:
+ a.) installs multipath-boot *only* when multipath devices are found, avoiding 
bug 1463046.
+ b.) writes /etc/multipath.conf to use user_friendly_names, avoiding bug 
1432062.
+ c.) writes /etc/multipath/bindings file to provide a consistent named 
/dev/mapper/mpath name (solving bug 1429327)
+ 
+ [Impact] 
+ Without this fix, most power 8 systems will install to /dev/sda1 and let the 
user modify /dev/sdg1 (or whatever device name that multipath device appears 
as).  This is not very user friendly, and quite confusing.
+ 
+ [Test Case]
+ Positive case:
+ a.) install system that has multipath
+ b.) verify that multipath-tools-boot is installed.
+ c.) verify that system is booted with root=/dev/mapper/mpath0-part2
+ 
+ Negative case:
+ a.) install system with 2 disks without multipath
+ b.) verify that no multipath-tools-boot is installed.
+ 
+ [Regression Potential] 
+ The regression potential falls into 2 places:
+ a.) a system with multipath that installed without multipath fails to install 
or work after this
+ this is really a bug in multipath in kenrel or the package if we get here.  
We've done fairly significant testing to show that we're reliably installing.
+ 
+ b.) a system without multipath is identified as multipath
+ The detection of multipath basically consists of looking for 2 devices that 
have a filesystem with the same UUID on them after creating a filesystem with 
that UUID.  This is essentially not more than a check for a random sequence of 
bytes on all disks rather than a fully determinable identification of 
multipath. So, the failure case is:
+  1.) we install to system and 'mkfs' the root partition
+  2.) we find 2 disks that have the same UUID as the root device (the root 
device and one other)
+ In all likelyhood, that would mean that a filesytem with this UUID already 
existed on the system.  That seems quite unlikley.
+ 
+ In the event that the user does not have multipath systems and just wants to 
disable multipath to avoid that scenario, they can do so by config in maas 
setting the following in /etc/maas/preseeds/curtin_userdata will disable 
multipath and boot quite reliably without multipath.
+   multipath:
+     mode: false
+ 
+ [Other]
+ Related bugs:
+  * bug 1432062 : multipath-tools-boot: support booting without 
user_friendly_names on devices with spaces in identifiers
+  * bug 1463043 : some SM15K systems fail to boot after deployment - drop into 
initramfs shell
+  * bug 1462530 : multipath errors on vivid, wily kernel
+  * bug 1463046 : installation of multipath-tools-boot can break boot
+  * bug 1447167 : [d-i] multipath-install: Installing with multipath enabled 
does not install multipath-tools
+  * bug 1429327 :  Boot from an unique, stable, multipath-dependent symlink
+ 
+ === End SRU Information ===
+ 
+ === Original bug report ===
  $ sudo blkid
  /dev/sr0: LABEL="Ubuntu-Server 14.04 LTS ppc64el" TYPE="iso9660"
  /dev/sda2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4"
  /dev/sda3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap"
  /dev/sdb2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4"
  /dev/sdb3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap"
  /dev/sdg2: UUID="795a6e14-ea4e-4718-9e98-c6df3696920c" TYPE="ext4"
  /dev/sdg3: UUID="0a91d81f-6a16-4b96-a92c-11ca8bdc4bf4" TYPE="swap"
  /dev/sdh2: UUID="1d14c1f3-716f-4fb8-9070-d321b39ffcb3" TYPE="ext4"
  /dev/sdh3: UUID="9c228177-d65c-4d19-a462-db1891e9781e" TYPE="swap"
  
  I'm not sure what exactly those block devices are (as in if they're
  raided in hardware or they actually represent physical spinning disks).
  But I do know that writing data to sda causes that data to be readable
  from sdg.
  
  The same is true:
   sda -> sdg
   sdb -> sdh
  
  That is what causes those UUIDs to be similar.  Everything is
  functional, you just have to know that if your root device is /dev/sdg
  that you should probably not write data to /dev/sda thinking you can use
  it as a disk.
- 
- Related bugs:
-  * bug 1432062 : multipath-tools-boot: support booting without 
user_friendly_names on devices with spaces in identifiers
-  * bug 1463043 : some SM15K systems fail to boot after deployment - drop into 
initramfs shell
-  * bug 1462530 : multipath errors on vivid, wily kernel
-  * bug 1463046 : installation of multipath-tools-boot can break boot
-  * bug 1447167 : [d-i] multipath-install: Installing with multipath enabled 
does not install multipath-tools
-  * bug 1429327 :  Boot from an unique, stable, multipath-dependent symlink 
- 
  
  ProblemType: Bug
  DistroRelease: Ubuntu 14.04
  Package: linux-image-3.13.0-35-generic 3.13.0-35.62
  ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
  Uname: Linux 3.13.0-35-generic ppc64le
  AlsaDevices: Error: command ['ls', '-l', '/dev/snd/'] failed with exit code 
2: ls: cannot access /dev/snd/: No such file or directory
  AplayDevices: Error: [Errno 2] No such file or directory: 'aplay'
  ApportVersion: 2.14.1-0ubuntu3.4
  Architecture: ppc64el
  ArecordDevices: Error: [Errno 2] No such file or directory: 'arecord'
  CRDA: Error: [Errno 2] No such file or directory: 'iw'
  CurrentDmesg: [   88.736220] init: plymouth-upstart-bridge main process 
ended, respawning
  Date: Fri Sep 19 14:31:20 2014
  HibernationDevice: RESUME=UUID=9c228177-d65c-4d19-a462-db1891e9781e
  Lsusb:
   Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
   Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
   Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
   Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  ProcEnviron:
   TERM=screen
   PATH=(custom, no user)
   XDG_RUNTIME_DIR=<set>
   LANG=en_US.UTF-8
   SHELL=/bin/bash
  ProcFB: 0 radeondrmfb
  ProcKernelCmdLine: root=UUID=1d14c1f3-716f-4fb8-9070-d321b39ffcb3 ro 
console=hvc0 BOOTIF=01-6c-ae-8b-6a-a0-88 quiet
  RelatedPackageVersions:
   linux-restricted-modules-3.13.0-35-generic N/A
   linux-backports-modules-3.13.0-35-generic  N/A
   linux-firmware                             1.127.6
  RfKill: Error: [Errno 2] No such file or directory: 'rfkill'
  SourcePackage: linux
  UpgradeStatus: No upgrade log present (probably fresh install)

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

Title:
  block devices appear twice [install does not use multipath]

To manage notifications about this bug go to:
https://bugs.launchpad.net/curtin/+bug/1371634/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to