Bug 667014 - booty does not correctly translate physical device name for raids on dm devices
Summary: booty does not correctly translate physical device name for raids on dm devices
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: booty
Version: 5.5
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: ---
Assignee: Ales Kozumplik
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-04 04:21 UTC by Masahiro Matsuya
Modified: 2018-11-14 16:34 UTC (History)
4 users (show)

Fixed In Version: booty-0.80.6-8
Doc Type: Bug Fix
Doc Text:
Prior this update, booty did not translate physical device names correctly for md software RAID on dm devices (device-mapper subsystem devices), which caused booty to crash during an installation. This issue has been fixed, physical device names are translated correctly and booty no longer crashes in this case.
Clone Of:
Environment:
Last Closed: 2011-07-21 06:47:05 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:0983 0 normal SHIPPED_LIVE booty bug fix update 2011-07-20 15:45:10 UTC

Description Masahiro Matsuya 2011-01-04 04:21:20 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Masahiro Matsuya 2011-01-04 04:52:54 UTC
Description of problem:

booty crashed with the following backtrace.

Traceback (most recent call first):
  File "/usr/lib/booty/bootloaderInfo.py", line 1005, in grubbyDiskName
    return "hd%d" % self.drivelist.index(name)
  File "/usr/lib/booty/bootloaderInfo.py", line 1010, in grubbyPartitionName
    return "(%s,%d)" % (self.grubbyDiskName(name), partNum)
  File "/usr/lib/booty/bootloaderInfo.py", line 763, in writeGrub
    f.write('#          root %s\n' % self.grubbyPartitionName(bootDevs[0]))
  File "/usr/lib/booty/bootloaderInfo.py", line 1210, in write
    justConfig | (not self.useGrubVal))
  File "/usr/lib/anaconda/bootloader.py", line 208, in writeBootloader
    justConfigFile, anaconda.intf)
  File "/usr/lib/anaconda/dispatch.py", line 204, in moveStep
    rc = stepFunc(self.anaconda)
  File "/usr/lib/anaconda/dispatch.py", line 127, in gotoNext
    self.moveStep()
  File "/usr/lib/anaconda/text.py", line 727, in run
    anaconda.dispatch.gotoNext()
  File "/usr/bin/anaconda", line 974, in ?
    anaconda.intf.run(anaconda)
ValueError: list.index(x): x not in list

Local variables in innermost frame:
self: <bootloaderInfo.x86BootloaderInfo instance at 0x169f7248>
name: dm-

I will attach anacdump.txt.

When raid device in /proc/mdstat has a device like "dm-0", getRaidDisks() returns "dm-0" as is. But, this should return the real device name like mapper/mpath0.

Version-Release number of selected component (if applicable):
anaconda-11.1.2.209-1

How reproducible:
Always

Steps to Reproduce:
1. create md device on multipath
2. create lvm device on the md device

example from the customer's kickstart
---------------------------------
clearpart --all --initlabel
part raid.1 --size=100 --ondisk=mapper/mpath0
part raid.5 --size=100 --ondisk=mapper/mpath2
part raid.2 --size=100 --grow --ondisk=mapper/mpath0
part raid.6 --size=100 --grow --ondisk=mapper/mpath2
raid /boot --fstype ext3 --device=md0 --level=RAID1 raid.1 raid.5
raid pv.8 --fstype ext3 --device=md1 --level=RAID1 raid.2 raid.6
volgroup Volume00 pv.8
logvol / --fstype ext3 --name=LogVol00 --vgname=Volume00 --size=3984
logvol swap --fstype swap --name=LogVol01 --vgname=Volume00 --size=3984

bootloader --location=mbr --driveorder=mapper/mpath0,mapper/mpath2
---------------------------------

Actual results:
booty crashed.

Expected results:
booty didn't crash.

Comment 5 RHEL Program Management 2011-02-15 19:19:49 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 7 Ales Kozumplik 2011-02-28 15:05:42 UTC
Hitting this when trying to fix bug 572862. The two are definitely related, assigning to myself.

Comment 8 Ales Kozumplik 2011-03-03 08:47:01 UTC
Fixed in booty-0.80.6-8 using the solution suggested in comment 2, thanks Masahiro.

Comment 12 Miroslav Svoboda 2011-06-29 14:27:22 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Prior this update, booty did not translate physical device names correctly for md software RAID on dm devices (device-mapper subsystem devices), which caused booty to crash during an installation. This issue has been fixed, physical device names are translated correctly and booty no longer crashes in this case.

Comment 13 errata-xmlrpc 2011-07-21 06:47:05 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-0983.html


Note You need to log in before you can comment on or make changes to this bug.