Bug 617554
Summary: | anaconda traceback when installing onto a system where all disks have a whole disk format | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Hans de Goede <hdegoede> |
Component: | anaconda | Assignee: | David Cantrell <dcantrell> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Release Test Team <release-test-team-automation> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 6.0 | CC: | atodorov, borgan, hdegoede, jchadima, mganisin, syeghiay |
Target Milestone: | rc | ||
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | anaconda-13.21.62-1 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | 617438 | Environment: | |
Last Closed: | 2010-11-10 19:52:05 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Hans de Goede
2010-07-23 12:18:25 UTC
Dave, I think this happens whenever we encounter a system where all disks have a whole disk format, and thus storage.anaconda.id.bootloader.drivelist is empty. Here is the traceback from: https://bugzilla.redhat.com/attachment.cgi?id=433922 anaconda 13.21.56 exception report Traceback (most recent call first): File "/usr/lib/anaconda/storage/partitioning.py", line 962, in allocatePartitions if disk.name == storage.anaconda.id.bootloader.drivelist[0]: File "/usr/lib/anaconda/storage/partitioning.py", line 856, in doPartitioning allocatePartitions(storage, disks, partitions, free) File "/usr/lib/anaconda/storage/partitioning.py", line 223, in doAutoPartition exclusiveDisks=anaconda.id.storage.clearPartDisks) File "/usr/lib/anaconda/dispatch.py", line 208, in moveStep rc = stepFunc(self.anaconda) File "/usr/lib/anaconda/dispatch.py", line 126, in gotoNext self.moveStep() File "/usr/lib/anaconda/gui.py", line 1338, in nextClicked self.anaconda.dispatch.gotoNext() IndexError: list index out of range Regards, Hans Oh, I forgot this traceback happens when choosing automatic partitioning with use the entire disk. Could this just be: diff --git a/storage/partitioning.py b/storage/partitioning.py index e173909..4522008 100644 --- a/storage/partitioning.py +++ b/storage/partitioning.py @@ -967,7 +967,8 @@ def allocatePartitions(storage, disks, partitions, freespace): req_disks.sort(key=lambda d: d.name, cmp=storage.compareDisks) boot_index = None for disk in req_disks: - if disk.name == storage.anaconda.id.bootloader.drivelist[0]: + if disk.name in storage.anaconda.id.bootloader.drivelist and \ + disk.name == storage.anaconda.id.bootloader.drivelist[0]: boot_index = req_disks.index(disk) if boot_index is not None and len(req_disks) > 1: ? (In reply to comment #3) > Could this just be: > > diff --git a/storage/partitioning.py b/storage/partitioning.py > index e173909..4522008 100644 > --- a/storage/partitioning.py > +++ b/storage/partitioning.py > @@ -967,7 +967,8 @@ def allocatePartitions(storage, disks, partitions, > freespace): > req_disks.sort(key=lambda d: d.name, cmp=storage.compareDisks) > boot_index = None > for disk in req_disks: > - if disk.name == storage.anaconda.id.bootloader.drivelist[0]: > + if disk.name in storage.anaconda.id.bootloader.drivelist and \ > + disk.name == storage.anaconda.id.bootloader.drivelist[0]: > boot_index = req_disks.index(disk) > > if boot_index is not None and len(req_disks) > 1: > > > ? Hi, I'm not sure that this is the entire solution. Yes this will stop the traceback, but I wonder if the code will eventually still find a disk to put /boot on when drivelist is empty. I think that besides this patch we may also need up update the bootloader drivelist after clearpartitioning has run in the case where whole disk formats have been converted to disklabels (while keeping / honouring the user selected boot disk). Regards, Hans (In reply to comment #1) > Dave, > > I think this happens whenever we encounter a system where all disks have a > whole disk format, and thus storage.anaconda.id.bootloader.drivelist is empty. > Hi Dave, how can I cause a disk to have whole disk format so I can test this? (In reply to comment #6) > (In reply to comment #1) > > Dave, > > > > I think this happens whenever we encounter a system where all disks have a > > whole disk format, and thus storage.anaconda.id.bootloader.drivelist is empty. > > > > Hi Dave, > how can I cause a disk to have whole disk format so I can test this? The original problem was reported for RAID devices where the RAID members were whole disk devices, such as /dev/sda and /dev/sdb, rather than having partitions on those devices as the raidset members. This bug could probably also be triggered if you take one disk in the system and format it as ext3. Such as: dd if=/dev/zero of=/dev/sda bs=1k count=20k mke2fs -j -v /dev/sda Blank out the beginning of the disk and then just make the entire disk a single filesystem. I am only guessing this second method works, but if it does, it could save some time by not having to create a RAID device before running the installer. NOTE: The whole disk format has to exist before you start up the installer. The bug happens based on what anaconda sees on the target disk(s) during installation. I wasn't able to reproduce with a whole vdb disk formated with ext4 and anaconda 13.21.50 :( (In reply to comment #8) > I wasn't able to reproduce with a whole vdb disk formated with ext4 and > anaconda 13.21.50 :( I think the bug was introduced pretty recently, try 13.21.60. Cound't reproduce with 13.21.60 either. (In reply to comment #10) > Cound't reproduce with 13.21.60 either. Bummer, I hit this when doing some other testing. AFAIK the direct cause for me hitting this backtrace was bug 620359, which caused my Intel Firmware RAID set to not be recognized. So all anaconda saw where to RAID set members, which resulted in the bootloader drive list being empty, but the same should happen with whole disk formats. Oh wait, you say you are making vdb a whole disk format, so vda still is partitioned ? Note that to reproduce *all* disks must have a whole disk format, see the summary. Making both disks in a whole disk format I managed to reproduce and then tested woth the latest snapshot. No traceback. Installation completed. Moving to VERIFIED. Red Hat Enterprise Linux 6.0 is now available and should resolve the problem described in this bug report. This report is therefore being closed with a resolution of CURRENTRELEASE. You may reopen this bug report if the solution does not work for you. |