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