Bug 1217900

Summary: Failed to parse mdexamine metadata
Product: [Fedora] Fedora Reporter: Maxim Reznik <reznikmm>
Component: libblockdevAssignee: Vratislav Podzimek <vpodzime>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: amulhern, anaconda-maint-list, awilliam, bcl, danofsatx, dledford, dlehman, g.kaviyarasu, jonathan, sbueno, vanmeeuwen+fedora, vpodzime
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: AcceptedFreezeException
Fixed In Version: libblockdev-0.13-1.fc22 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-19 00:00:27 UTC Type: Bug
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: 1043132    
Attachments:
Description Flags
anaconda log file
none
storage log
none
syslog
none
another anaconda log none

Description Maxim Reznik 2015-05-02 15:55:16 UTC
Created attachment 1021165 [details]
anaconda log file

Description of problem:
Instalation of Fedora 22 Beta Server failed.

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

15:30:39,442 CRIT anaconda: Traceback (most recent call last):

  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/threading.py", line 766, in run
    self.__target(*self.__args, **self.__kwargs)

  File "/usr/lib/python2.7/site-packages/blivet/osinstall.py", line 1117, in storageInitialize
    storage.reset()

  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/devicetree.py", line 2128, in populate
    self._populate()

  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 2194, in _populate
    self.addUdevDevice(dev)

  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1262, in addUdevDevice
    self.handleUdevDeviceFormat(info, device)

  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1894, in handleUdevDeviceFormat
    self.handleUdevMDMemberFormat(info, device)

  File "/usr/lib/python2.7/site-packages/blivet/devicetree.py", line 1595, in handleUdevMDMemberFormat
    md_info = blockdev.md_examine(device.path)

Additional info:

Comment 1 Maxim Reznik 2015-05-02 15:56:29 UTC
Created attachment 1021166 [details]
storage log

Comment 2 Maxim Reznik 2015-05-02 16:00:41 UTC
Created attachment 1021167 [details]
syslog

Comment 3 Maxim Reznik 2015-05-02 16:03:45 UTC
Created attachment 1021168 [details]
another anaconda log

Comment 4 Vratislav Podzimek 2015-05-05 13:30:47 UTC
The problem is that the 'mdadm --examine --brief' doesn't provide the 'metadata=X' key-value in some cases and libblockdev expected that. The easy fix is to not require that key-value. I checked that blivet is ready to get the results with no metadata version set.

Comment 5 Fedora Blocker Bugs Application 2015-05-05 16:32:34 UTC
Proposed as a Freeze Exception for 22-final by Fedora user vpodzime using the blocker tracking app because:

 Could with high probability happen on some FW RAID installations.

Comment 6 David Lehman 2015-05-05 17:27:48 UTC
As I recall, the set of fields output by mdadm examine depends on the metadata version of the md superblock. It would certainly be nicer if it were consistent instead.

Comment 7 Doug Ledford 2015-05-05 17:36:04 UTC
This partially depends on whether you are talking about --examine or --examine --brief.  The latter is specifically intended to be a suitable ARRAY line in an mdadm.conf file, so the information displayed is only what's needed by mdadm to reliably, uniquely identify the array and preserve its current name.  I suspect it only outputs a metadata version for 0.90 arrays, and then only because that's a deprecated metadata version, but I could be wrong on the reason for it.  Neil might be amenable to making the metadata version output constant.

Comment 8 Dan Mossor [danofsatx] 2015-05-11 19:52:10 UTC
Discussed at the 2015-05-11 blocker review meeting[0]. Voted as AcceptedFreezeException.

AGREED: 1217900 - AcceptedFreezeException - any reasonable fix to a crasher in sensible anaconda usage is a good thing to get in (adamw, 18:09:12)

[0]: http://meetbot.fedoraproject.org/fedora-blocker-review/2015-05-11/

Comment 9 Adam Williamson 2015-05-12 22:12:26 UTC
We're now past the final freeze - it'd be good to get a build with this fix (and the other accepted FE in libblockdev, which is in POST state) ASAP, so we have longer to test. Thanks!

Comment 10 Fedora Update System 2015-05-13 10:55:10 UTC
libblockdev-0.13-1.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/libblockdev-0.13-1.fc22

Comment 11 Fedora Update System 2015-05-14 22:21:41 UTC
Package libblockdev-0.13-1.fc22:
* should fix your issue,
* was pushed to the Fedora 22 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing libblockdev-0.13-1.fc22'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2015-8224/libblockdev-0.13-1.fc22
then log in and leave karma (feedback).

Comment 12 Fedora Update System 2015-05-19 00:00:27 UTC
libblockdev-0.13-1.fc22 has been pushed to the Fedora 22 stable repository.  If problems still persist, please make note of it in this bug report.