Multipath: underlying disks are listed for partitioning on systems w/ 26+ disks

Bug #1436020 reported by Mauricio Faria de Oliveira
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
partman-base (Ubuntu)
Fix Released
Medium
Mathieu Trudel-Lapierre
Trusty
Fix Released
Undecided
Mathieu Trudel-Lapierre

Bug Description

[Impact]
Systems with more than 26 multipath disks will see the underlying disks listed rather than included under the multipath device (which is a separate entry in the list). This affects any user trying to install on a system with more than 26 multipath disks.

[Test case]
Install Ubuntu using d-i on a system with more than 26 multipathed disks.

[Regression Potential]
Limited to multipath. This simply folds two spaces into one and accounts for extra spaces in the output of multipath -l when there are more than 26 disks (ie. when you start to see sdaa#), by adjusting the regular expression.

---

On top of the fix in LP: #1430074, there's a minor bit missing.

It doesn't hide all underlying disks in the partitioning dialog if there's 26+ underlying disks (i.e., enough for sdaa and so on to show up).

It happens because, in that case, 'multipath -l' now puts 2 spaces betweek disk and major:minor for the sd[a-z] disks, and only 1 space for sd[a-z][a-z].

Patch attached.

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :
tags: added: patch
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Notice the one/two spaces case:
 ~ # multipath -l
 ...
 mpath3 (36005076307ffc7b0000000000000071f) dm-3 IBM,2107900
 size=15G features='1 queue_if_no_path' hwhandler='0' wp=rw
 `-+- policy='round-robin 0' prio=-1 status=active
   |- 1:0:0:3 sdd 8:48 active undef running
   |- 1:0:1:3 sdi 8:128 active undef running
   |- 1:0:2:3 sdn 8:208 active undef running
   |- 1:0:3:3 sds 65:32 active undef running
   |- 1:0:4:3 sdx 65:112 active undef running
   `- 1:0:5:3 sdac 65:192 active undef running

Before:

 ~ # multipath -l | grep -o '\([#0-9]\+:\)\{3\}[#0-9]\+ [hs]d[a-z]\+ [0-9]\+:[0-9]\+'
 1:0:5:2 sdab 65:176
 1:0:5:1 sdaa 65:160
 1:0:5:4 sdad 65:208
 1:0:5:3 sdac 65:192

After:

 ~ # multipath -l | grep -o '\([#0-9]\+:\)\{3\}[#0-9]\+ [hs]d[a-z]\+ \+[0-9]\+:[0-9]\+'
 1:0:0:2 sdc 8:32
 1:0:1:2 sdh 8:112
 1:0:2:2 sdm 8:192
 1:0:3:2 sdr 65:16
 1:0:4:2 sdw 65:96
 1:0:5:2 sdab 65:176
 1:0:0:1 sdb 8:16
 1:0:1:1 sdg 8:96
 1:0:2:1 sdl 8:176
 1:0:3:1 sdq 65:0
 1:0:4:1 sdv 65:80
 1:0:5:1 sdaa 65:160
 1:0:0:0 sda 8:0
 1:0:1:0 sdf 8:80
 1:0:2:0 sdk 8:160
 1:0:3:0 sdp 8:240
 1:0:4:0 sdu 65:64
 1:0:5:0 sdz 65:144
 1:0:0:4 sde 8:64
 1:0:1:4 sdj 8:144
 1:0:2:4 sdo 8:224
 1:0:3:4 sdt 65:48
 1:0:4:4 sdy 65:128
 1:0:5:4 sdad 65:208
 1:0:0:3 sdd 8:48
 1:0:1:3 sdi 8:128
 1:0:2:3 sdn 8:208
 1:0:3:3 sds 65:32
 1:0:4:3 sdx 65:112
 1:0:5:3 sdac 65:192

Currently only the space(s) between disk and major:minor are varying; but let's
make the space(s) between SCSI address and disk also variable, just in case.

 ~ # multipath -l | grep -o '\([#0-9]\+:\)\{3\}[#0-9]\+ \+[hs]d[a-z]\+ \+[0-9]\+:[0-9]\+'
 <<same output>>

summary: - Multipath: underlying disks are listed on systems w/ 24+ disks
+ Multipath: underlying disks are listed for partitioning on systems w/
+ 24+ disks
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote : Re: Multipath: underlying disks are listed for partitioning on systems w/ 24+ disks

The attachment "partman-base_multipath-24plus-disks.debdiff" seems to be a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. If the attachment isn't a patch, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issue please contact him.]

Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

BTW, this may look like a superfluous thing, but actually isn't.

The listing/consideration of underlying devices by the partitioner may trigger the problem #6 described in bug 1430074,
which is the PReP flag being lost from the boot device.. so the installed system won't boot.

Changed in partman-base (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Changed in partman-base (Ubuntu):
status: Triaged → In Progress
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

Oops, more than 26 disks. Fixed title and description.

summary: Multipath: underlying disks are listed for partitioning on systems w/
- 24+ disks
+ 26+ disks
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package partman-base - 181ubuntu3

---------------
partman-base (181ubuntu3) vivid; urgency=medium

  [ Mauricio Faria de Oliveira ]
  * init.d/parted: part_of_multipath(): Update grep expression for more
    spaces between disk and major:minor (happens when sd[a-z][a-z] exist)
    (LP: #1436020)
 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 10 Apr 2015 16:40:29 -0400

Changed in partman-base (Ubuntu):
status: In Progress → Fix Released
Changed in partman-base (Ubuntu Trusty):
status: New → In Progress
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
description: updated
Revision history for this message
Adam Conrad (adconrad) wrote : Please test proposed package

Hello Mauricio, or anyone else affected,

Accepted partman-base into trusty-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/partman-base/172ubuntu1.1 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 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 to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in partman-base (Ubuntu Trusty):
status: In Progress → Fix Committed
tags: added: verification-needed
Revision history for this message
Mauricio Faria de Oliveira (mfo) wrote :

This is verified OK on trusty-proposed.
Tested on a system with up to /dev/sdav.. none listed on partitioning dialog.

~ # ls -1d /sys/block/sda* | sort | tail -n1
/sys/block/sdav

tags: added: verification-done
removed: verification-needed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package partman-base - 172ubuntu1.1

---------------
partman-base (172ubuntu1.1) trusty; urgency=medium

  * Fix multipath support: (LP: #1430074)
    - lib/base.sh: is_multipath_part(): Use 'p' (not '-part') as multipath
      disk-partition separator.
    - lib/base.sh: humandev(): Use 'p' (not '-part') as multipath
      disk-partition separator.
    - lib/base.sh: humandev(): Accept spaces in multipath WWID.
    - init.d/parted: part_of_multipath(): Update grep expression for more
      recent output of 'multipath -l'.
  * init.d/parted: part_of_multipath(): Update grep expression for more
    spaces between disk and major:minor (happens when sd[a-z][a-z] exist)
    (LP: #1436020)

 -- Mathieu Trudel-Lapierre <email address hidden> Fri, 17 Jul 2015 12:03:31 -0400

Changed in partman-base (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of the Stable Release Update for partman-base has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.