Bug 1207317

Summary: Error: g-bd-md-error-quark: malformed or invalid UUID: (null) (1)
Product: [Fedora] Fedora Reporter: Adam Williamson <awilliam>
Component: libblockdevAssignee: Vratislav Podzimek <vpodzime>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: anaconda-maint-list, g.kaviyarasu, ipilcher, jonathan, robatino, sbueno, vanmeeuwen+fedora, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: abrt_hash:31b274515554282c60e513ec4ae479091d05adf6bea963133d852dd75fb96bd8 AcceptedBlocker
Fixed In Version: libblockdev-0.9-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-04-14 21:06:36 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:
Bug Depends On:    
Bug Blocks: 1043125, 1208536    
Attachments:
Description Flags
File: anaconda-tb
none
File: anaconda.log
none
File: dnf.log
none
File: environ
none
File: lsblk_output
none
File: nmcli_dev_list
none
File: os_info
none
File: program.log
none
File: storage.log
none
File: syslog
none
File: ifcfg.log
none
File: packaging.log
none
logs from install attempt with the scratch build none

Description Adam Williamson 2015-03-30 16:55:58 UTC
Description of problem:
Booted an F22 image with libblockdev 0.8 (to fix #1206394).

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 "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1593, in handleUdevMDMemberFormat
    md_info = blockdev.md_examine(device.path)
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1877, in handleUdevDeviceFormat
    self.handleUdevMDMemberFormat(info, device)
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1260, in addUdevDevice
    self.handleUdevDeviceFormat(info, device)
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 2177, in _populate
    self.addUdevDevice(dev)
  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 2111, in populate
    self._populate()
  File "/usr/lib/python2.7/site-packages/blivet/blivet.py", line 277, in reset
    self.devicetree.populate(cleanupOnly=cleanupOnly)
  File "/usr/lib/python2.7/site-packages/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)
Error: g-bd-md-error-quark: malformed or invalid UUID: (null) (1)

Additional info:
addons:         com_redhat_kdump
cmdline:        /usr/bin/python2  /sbin/anaconda
cmdline_file:   BOOT_IMAGE=vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=Fedora-22_B_T5test-x86_64 quiet
dnf.rpm.log:    Mar 30 16:52:08 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 Adam Williamson 2015-03-30 16:56:00 UTC
Created attachment 1008607 [details]
File: anaconda-tb

Comment 2 Adam Williamson 2015-03-30 16:56:01 UTC
Created attachment 1008608 [details]
File: anaconda.log

Comment 3 Adam Williamson 2015-03-30 16:56:02 UTC
Created attachment 1008609 [details]
File: dnf.log

Comment 4 Adam Williamson 2015-03-30 16:56:03 UTC
Created attachment 1008610 [details]
File: environ

Comment 5 Adam Williamson 2015-03-30 16:56:03 UTC
Created attachment 1008611 [details]
File: lsblk_output

Comment 6 Adam Williamson 2015-03-30 16:56:04 UTC
Created attachment 1008612 [details]
File: nmcli_dev_list

Comment 7 Adam Williamson 2015-03-30 16:56:05 UTC
Created attachment 1008613 [details]
File: os_info

Comment 8 Adam Williamson 2015-03-30 16:56:06 UTC
Created attachment 1008614 [details]
File: program.log

Comment 9 Adam Williamson 2015-03-30 16:56:07 UTC
Created attachment 1008615 [details]
File: storage.log

Comment 10 Adam Williamson 2015-03-30 16:56:08 UTC
Created attachment 1008616 [details]
File: syslog

Comment 11 Adam Williamson 2015-03-30 16:56:09 UTC
Created attachment 1008617 [details]
File: ifcfg.log

Comment 12 Adam Williamson 2015-03-30 16:56:10 UTC
Created attachment 1008618 [details]
File: packaging.log

Comment 13 Adam Williamson 2015-03-30 16:57:50 UTC
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 14 Vratislav Podzimek 2015-03-30 17:26:40 UTC
scratch build with a potential fix:
http://koji.fedoraproject.org/koji/taskinfo?taskID=9368091

Comment 15 Adam Williamson 2015-03-30 18:21:05 UTC
Created attachment 1008635 [details]
logs from install attempt with the scratch build

With the scratch build it no longer crashes, but the set does not appear as an available installation target (so if your only target is a RAID set, you can't install).

Attaching the logs (all smooshed into one file by fpaste).

Comment 16 Adam Williamson 2015-03-30 18:21:49 UTC
Discussed at 2015-03-30 blocker review meeting: http://meetbot.fedoraproject.org/fedora-blocker-review/2015-03-30/f22-blocker-review.2015-03-30-16.04.log.txt . Accepted as a blocker per criterion cited in #c13.

Comment 17 Vratislav Podzimek 2015-03-31 14:41:20 UTC
So the key is this (from storage.log):
17:34:05,125 DEBUG blivet:           DeviceTree.handleUdevDeviceFormat: name: sda ;
17:34:05,136 INFO blivet: type detected on 'sda' is 'isw_raid_member'
17:34:05,138 DEBUG blivet:             MDRaidMember.__init__: uuid: None ; exists: True ; label: None ; device: /dev/sda ; serial: ST3500418AS_9VM1BT6B ; mdUuid: None ; biosraid: True ;
17:34:05,138 DEBUG blivet: getFormat('isw_raid_member') returning MDRaidMember instance with object id 10
17:34:05,140 DEBUG blivet:             DiskDevice._setFormat: sda ; current: None ; type: mdmember ;
17:34:05,140 INFO blivet: got format: existing mdmember
17:34:05,143 DEBUG blivet:            DeviceTree.handleUdevMDMemberFormat: type: mdmember ; name: sda ;
17:34:05,162 DEBUG blivet:             DeviceTree.getDeviceByUuid: hidden: False ; uuid: None ; incomplete: True ;
17:34:05,164 DEBUG blivet:             DeviceTree.getDeviceByUuid returned None
17:34:05,164 ERR blivet: failed to determine name for the md array e0fb362e-9865-d1c0-cdb0-f5e327c9a085

and the problem behind that is that this:
17:34:05,153 INFO program: Running [5] mdadm --examine --brief /dev/sda ...
17:34:05,160 INFO program: stdout[5]: ARRAY metadata=imsm UUID=e0fb362e:9865d1c0:cdb0f5e3:27c9a085
ARRAY /dev/md/Volume0 container=e0fb362e:9865d1c0:cdb0f5e3:27c9a085 member=0 UUID=1d1335e9:79d4be6a:e16b7fa7:fe8c41f6

in case of a SW MD RAID array starts with 'ARRAY /dev/md/something' which libblockdev uses to determine the name of the device (and so used to do blivet earlier).

I cannot imagine how this worked before, but if this works with F22 Alpha (no libblockdev), we need to investigate it more. Otherwise libblockdev can just search for the 'ARRAY /dev/md/something' pattern in the whole output to get the name.

Comment 18 Adam Williamson 2015-03-31 20:35:26 UTC
The last time I know for sure it worked was 21 Final. I'll check 22 Alpha later and attach logs if it works.

Comment 19 Vratislav Podzimek 2015-04-02 13:28:18 UTC
So with some changes in libblockdev (I hesitate to call them fixes now) [1] we get to bug #1208536.

[1] http://vpodzime.fedorapeople.org/1207317_updates.img

Comment 20 Vratislav Podzimek 2015-04-02 14:29:48 UTC
Pull request with the libblockdev changes:
https://github.com/rhinstaller/libblockdev/pull/7

Comment 21 Adam Williamson 2015-04-02 16:05:58 UTC
re-assigning to libblockdev for clarity.

Comment 22 Adam Williamson 2015-04-02 20:14:17 UTC
Booting TC6 with the updates.img from #c19 I do indeed get to #1208536 , but if I build current libblockdev package plus https://github.com/rhinstaller/libblockdev/pull/7.patch and include that libblockdev build in a boot.iso , I still get 'malformed or invalid UUID'. I think some fix from the updates.img must be missing from the PR.

Comment 23 Vratislav Podzimek 2015-04-03 06:21:28 UTC
(In reply to awilliam from comment #22)
> Booting TC6 with the updates.img from #c19 I do indeed get to #1208536 , but
> if I build current libblockdev package plus
> https://github.com/rhinstaller/libblockdev/pull/7.patch and include that
> libblockdev build in a boot.iso , I still get 'malformed or invalid UUID'. I
> think some fix from the updates.img must be missing from the PR.
As explained in the PR, the change related to UUIDs was already pushed to master and thus is not part of the PR (I considered the change safe and clearly right).

Comment 24 Adam Williamson 2015-04-03 06:55:59 UTC
oh, sorry, missed that. it made testing a bit tricky as there isn't an image with those changes :) i figured out a way, though.

Comment 25 Fedora Update System 2015-04-07 19:44:07 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 26 Adam Williamson 2015-04-07 20:54:24 UTC
Fix verified with a test image built with the bits from #c25.

Comment 27 David Shea 2015-04-07 20:55:42 UTC
*** Bug 1209263 has been marked as a duplicate of this bug. ***

Comment 28 Adam Williamson 2015-04-14 21:06:36 UTC
Update has gone stable, closing (I'll verify FW RAID with Beta RC2 soon).