Bug 253837

Summary: md root boots fail without /etc/mdadm.conf
Product: [Fedora] Fedora Reporter: Felix Bellaby <felixbellaby>
Component: mkinitrdAssignee: Peter Jones <pjones>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: triage
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-17 02:13:02 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 Felix Bellaby 2007-08-22 10:09:44 UTC
The current versions of mkinitrd assemble root md arrays using:

mdadm -As --auto=yes --run /dev/md0

This command requires a valid /etc/mdadm.conf or /etc/mdadm/mdadm.conf file.
mkinitrd copies over any /etc/mdadm.conf to the initrd, but ignores any
/etc/mdadm/mdadm.conf file.

As a result, systems that rely on /etc/mdadm/mdadm.conf will not boot.

SOLUTION: mkinitrd should copy over /etc/mdadm/mdadm.conf from the rootfs to initrd.

Furthermore, systems that lack any mdadm.conf file will not boot (they produce
"mdadm: /dev/md0 not identified in config file." errors). These systems were
able to boot under the previous versions of mkinitrd that used the nash built-in
raidautorun (providing that they had autodetectable arrays). 

POSSIBLE SOLUTION 1: Use "mdadm --auto-detect" in the init file when mkinitrd
can not find any mdadm.conf.

POSSIBLE SOLUTION 2: Use "mdadm -A mddevice component-devices" in the init file
when mkinitrd can not find any mdadm.conf.

POSSIBLE SOLUTION 3: Create a suitable mdadm.conf on the initrd so that "mdadm
-As" will work (possibly copying this mdadm.conf onto the rootfs at the same time).

I think that SOLUTION 3 is probably the best bet. Various possible mdadm.conf
files should work, but an empty one should suffice.

Comment 1 Felix Bellaby 2007-08-22 11:12:11 UTC
After a bit of reboot testing, it seems that an empty /etc/mdadm.conf is not
enough. The minimal /etc/mdadm.conf must contain one ARRAY line giving the
component devices.

A suitable file might be generated for the ${dev} array using:

awk '/'${dev}'/ { printf "%s","ARRAY /dev/'${dev}' devices="; for (i=5; $i; i++)
printf "%s%s","/dev/"gensub("\\[.*\\]","","",$i),$(i+1) ? "," : "\n"; }'
/proc/mdstat > /etc/mdadm.conf

Of course, a suitable /etc/mdadm.conf should be in place on systems that have
one created by anaconda, but it is unwise to rely on their existence within
mkinitrd as a system that has lost its /etc/mdadm.conf might become unbootable.

Comment 2 Felix Bellaby 2007-08-22 23:02:42 UTC
A better way to generate the appropriate /etc/mdadm.conf would be to use:

mdadm -Q --detail --brief ${dev} > $MNTIMAGE/etc/mdadm.conf

Comment 3 Bug Zapper 2008-05-14 14:04:44 UTC
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Bug Zapper 2008-06-17 02:13:00 UTC
Fedora 7 changed to end-of-life (EOL) status on June 13, 2008. 
Fedora 7 is no longer maintained, which means that it will not 
receive any further security or bug fix updates. As a result we 
are closing this bug. 

If you can reproduce this bug against a currently maintained version 
of Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.