Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1208536 - Problems recognizing BIOS RAID devices
Summary: Problems recognizing BIOS RAID devices
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: python-blivet
Version: 22
Hardware: x86_64
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: mulhern
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: abrt_hash:9a9414448ae3c29c4dcd966f03c...
Depends On: 1207317
Blocks: F22BetaBlocker
TreeView+ depends on / blocked
 
Reported: 2015-04-02 13:16 UTC by Petr Schindler
Modified: 2015-04-14 21:08 UTC (History)
10 users (show)

Fixed In Version: python-blivet-1.0.7-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-04-14 21:08:12 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
File: anaconda-tb (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: anaconda.log (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: dnf.log (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: environ (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: lsblk_output (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: nmcli_dev_list (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: os_info (deleted)
2015-04-02 13:16 UTC, Petr Schindler
no flags Details
File: program.log (deleted)
2015-04-02 13:17 UTC, Petr Schindler
no flags Details
File: storage.log (deleted)
2015-04-02 13:17 UTC, Petr Schindler
no flags Details
File: syslog (deleted)
2015-04-02 13:17 UTC, Petr Schindler
no flags Details
File: ifcfg.log (deleted)
2015-04-02 13:17 UTC, Petr Schindler
no flags Details
File: packaging.log (deleted)
2015-04-02 13:17 UTC, Petr Schindler
no flags Details
anaconda-tb from the new failure (deleted)
2015-04-02 20:18 UTC, Adam Williamson
no flags Details
program.log with most recent updates image (no crash, set not visible on INSTALL DESTINATION screen) (deleted)
2015-04-02 21:57 UTC, Adam Williamson
no flags Details
storage.log with most recent updates image (no crash, set not visible on INSTALL DESTINATION screen) (deleted)
2015-04-02 21:58 UTC, Adam Williamson
no flags Details
patch to fix stupid sysfs path problem (deleted)
2015-04-02 23:19 UTC, David Lehman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1194530 0 unspecified CLOSED [abrt] blivet-gui: AttributeError: 'NoneType' object has no attribute 'startswith' 2021-02-22 00:41:40 UTC
Red Hat Bugzilla 1207317 0 unspecified CLOSED Error: g-bd-md-error-quark: malformed or invalid UUID: (null) (1) 2021-02-22 00:41:40 UTC

Internal Links: 1194530 1207317

Description Petr Schindler 2015-04-02 13:16:48 UTC
Description of problem:
Fedora Beta TC6 Workstation netinst booted with vpodzimek's update (http://vpodzime.fedorapeople.org/1207317_updates.img

This happens right after anaconda starts.

Version-Release number of selected component:
anaconda-22.20.7-1

The following was filed automatically by anaconda:
anaconda 22.20.7-1 exception report
Traceback (most recent call first):
  File "/tmp/updates/blivet/devices/md.py", line 103, in __init__
    raise e
  File "/tmp/updates/blivet/devicetree.py", line 1638, in handleUdevMDMemberFormat
    exists=True)
  File "/tmp/updates/blivet/devicetree.py", line 1878, in handleUdevDeviceFormat
    self.handleUdevMDMemberFormat(info, device)
  File "/tmp/updates/blivet/devicetree.py", line 1260, in addUdevDevice
    self.handleUdevDeviceFormat(info, device)
  File "/tmp/updates/blivet/devicetree.py", line 2178, in _populate
    self.addUdevDevice(dev)
  File "/tmp/updates/blivet/devicetree.py", line 2112, in populate
    self._populate()
  File "/tmp/updates/blivet/blivet.py", line 277, in reset
    self.devicetree.populate(cleanupOnly=cleanupOnly)
  File "/tmp/updates/blivet/osinstall.py", line 1117, in storageInitialize
    storage.reset()
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 244, in run
    threading.Thread.run(self, *args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 115, in wait
    self.raise_if_error(name)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/timezone.py", line 75, in time_initialize
    threadMgr.wait(THREAD_STORAGE)
  File "/usr/lib64/python2.7/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 244, in run
    threading.Thread.run(self, *args, **kwargs)
DeviceError: RAID level container is an invalid value. Must be one of (linear, raid4, raid0, raid1, raid6, raid10, raid5).

Additional info:
addons:         com_redhat_kdump
cmdline:        /usr/bin/python2  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=/images/pxeboot/vmlinuz inst.stage2=hd:LABEL=Fedora-22_B_T6-x86_64 quiet inst.updates=http://vpodzime.fedorapeople.org/1207317_updates.img
dnf.rpm.log:    Apr 02 13:03:33 INFO --- logging initialized ---
executable:     /sbin/anaconda
hashmarkername: anaconda
kernel:         4.0.0-0.rc4.git0.1.fc22.x86_64
product:        Fedora
release:        Cannot get release name.
type:           anaconda
version:        22

Comment 1 Petr Schindler 2015-04-02 13:16:51 UTC
Created attachment 1010173 [details]
File: anaconda-tb

Comment 2 Petr Schindler 2015-04-02 13:16:52 UTC
Created attachment 1010174 [details]
File: anaconda.log

Comment 3 Petr Schindler 2015-04-02 13:16:53 UTC
Created attachment 1010175 [details]
File: dnf.log

Comment 4 Petr Schindler 2015-04-02 13:16:55 UTC
Created attachment 1010176 [details]
File: environ

Comment 5 Petr Schindler 2015-04-02 13:16:56 UTC
Created attachment 1010177 [details]
File: lsblk_output

Comment 6 Petr Schindler 2015-04-02 13:16:57 UTC
Created attachment 1010178 [details]
File: nmcli_dev_list

Comment 7 Petr Schindler 2015-04-02 13:16:58 UTC
Created attachment 1010179 [details]
File: os_info

Comment 8 Petr Schindler 2015-04-02 13:17:00 UTC
Created attachment 1010180 [details]
File: program.log

Comment 9 Petr Schindler 2015-04-02 13:17:01 UTC
Created attachment 1010181 [details]
File: storage.log

Comment 10 Petr Schindler 2015-04-02 13:17:03 UTC
Created attachment 1010182 [details]
File: syslog

Comment 11 Petr Schindler 2015-04-02 13:17:05 UTC
Created attachment 1010183 [details]
File: ifcfg.log

Comment 12 Petr Schindler 2015-04-02 13:17:06 UTC
Created attachment 1010184 [details]
File: packaging.log

Comment 13 Vratislav Podzimek 2015-04-02 13:26:53 UTC
mulhern, could you please have a look at this? It is a follow-up of bug #1207317 and I have no idea how to move further.

Comment 14 Adam Williamson 2015-04-02 15:54:14 UTC
This is another bug in the F22 'firmware RAID doesn't work' series, so nominating as a Beta blocker: https://fedoraproject.org/wiki/Fedora_22_Beta_Release_Criteria#Hardware_and_firmware_RAID , "The installer must be able to detect and install to hardware or firmware RAID storage devices."

Comment 15 mulhern 2015-04-02 15:55:32 UTC
We should build an MDContainerDevice if the level is "container" and the member format's biosraid attr is True.

Comment 16 mulhern 2015-04-02 17:50:53 UTC
Test image at: http://mulhern.fedorapeople.org/tests/1208536.img

Comment 17 Adam Williamson 2015-04-02 20:17:27 UTC
I combined vpodzime's http://vpodzime.fedorapeople.org/1207317_updates.img with http://mulhern.fedorapeople.org/tests/1208536.img in the following way:

mv 1207317_updates.img 1207317_updates.img.gz
mv 1208536.img 1208536.img.gz
gunzip 1207317_updates.img.gz
gunzip 1208536.img.gz
mkdir new
cd new
cpio -idv < ../1208536.img
cpio -idv < ../1207317_updates.img
find . | cpio -c -o | pigz -9cv > updates-1207317-1208536.img

the resulting image is https://www.happyassassin.net/updates/updates-1207317-1208536.img

if I boot with that, I get a new failure: ValueError("device is already in tree"). I'll attach the anaconda-tb from that test.

Comment 18 Adam Williamson 2015-04-02 20:18:30 UTC
Created attachment 1010360 [details]
anaconda-tb from the new failure

Comment 19 Adam Williamson 2015-04-02 21:52:33 UTC
Anne updated her updates.img, latest version of the combined image is https://www.happyassassin.net/updates/raid.img (cos I didn't want to type all those numbers). It now doesn't crash, but the RAID set does not show up as an available installation target device on the INSTALLATION DESTINATION screen. Will attach logs from this test.

Comment 20 Adam Williamson 2015-04-02 21:57:23 UTC
Created attachment 1010374 [details]
program.log with most recent updates image (no crash, set not visible on INSTALL DESTINATION screen)

Comment 21 Adam Williamson 2015-04-02 21:58:56 UTC
Created attachment 1010375 [details]
storage.log with most recent updates image (no crash, set not visible on INSTALL DESTINATION screen)

Comment 22 mulhern 2015-04-02 22:18:31 UTC
The previous problem was that the array was being looked up with the UUID being supplied by udev...but being constructed with the UUID being supplied by mdadm --examine.
When udev doesn't supply any UUID for the array and it happens twice then you get the array constructed and added twice. Making sure to search for the array using the mdadm UUID seems to fix that.

But that opens up another problem which starts to show up just after the array is created.

21:37:56,228 ERR blivet: failed to update sysfs path for Volume0: [Errno 2] No such file or directory: '/dev/md/Volume0'

Then later, when constructing the MDBiosRaidArrayDevice (which is what anaconda would like to present) we fail because we can't find the container device that we added previously.

21:37:57,611 ERR blivet: No device at '/class/block/md127'
21:37:57,611 ERR blivet: failed to find md container imsm at /class/block/md127

So, the basic hypothesis is that udev is not supplying enough information for the container device to be located when the actual array device is being processed.

Comment 23 David Lehman 2015-04-02 23:19:25 UTC
Created attachment 1010377 [details]
patch to fix stupid sysfs path problem

This should get you a bit further on. I missed this one when porting
to python-pyudev, whose sysfs paths are absolute instead of omitting
the sysfs mountpoint.

Comment 24 mulhern 2015-04-06 12:16:47 UTC
New updates img available at: http://mulhern.fedorapeople.org/tests/1208536.img.

Comment 25 mulhern 2015-04-06 12:18:27 UTC
This bug has enlarged in scope from original, so changing title.

Comment 26 Adam Williamson 2015-04-06 17:03:24 UTC
Discussed at 2015-04-06 blocker review meeting: https://meetbot.fedoraproject.org/fedora-blocker-review/2015-04-06/f22-blocker-review.2015-04-06-16.00.log.txt . Accepted as a blocker as a clear violation of the criterion cited in #c14.

Comment 27 Adam Williamson 2015-04-06 19:23:17 UTC
With the latest updates image from #c23, combined with vpod's image for the libblockdev fixes, I have a fully successful install and boot to a RAID-0 set - thanks.

We need libblockdev and anaconda/blivet builds with the fixes, now. thanks again!

Comment 28 Vratislav Podzimek 2015-04-07 08:43:09 UTC
(In reply to awilliam from comment #27)
> With the latest updates image from #c23, combined with vpod's image for the
> libblockdev fixes, I have a fully successful install and boot to a RAID-0
> set - thanks.
HOOOOOOORAAAAAAYYYYYY!!!

Comment 29 Fedora Update System 2015-04-07 19:44:05 UTC
libblockdev-0.9-1.fc22, python-blivet-1.0.7-1.fc22, anaconda-22.20.9-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/libblockdev-0.9-1.fc22,python-blivet-1.0.7-1.fc22,anaconda-22.20.9-1.fc22

Comment 30 Adam Williamson 2015-04-07 20:54:15 UTC
Fix verified with a test image built with the bits from #c29.

Comment 31 Adam Williamson 2015-04-14 21:08:12 UTC
Update has gone stable, closing (will verify FW RAID with RC2 shortly).


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