From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20030225 Description of problem: I've tried a number of ways to get anaconda to reuse an existing raid device, but it always aborts with a message such as: `Usable to locate raid device None to use for /oldboot'. I've tried kickstart lines such as: raid /oldboot --noformat --device=md0 --level=RAID1 --fstype ext3 raid.5 raid.13 raid /oldboot --noformat --device=md0 --level=RAID1 --fstype ext3 raid /boot --useexisting --device=md0 --level=RAID1 --fstype ext3 raid.5 raid.13 raid /boot --useexisting --device=md0 --level=1 --fstype ext3 raid /oldboot --noformat --device=0 --fstype=ext3 I've tried raidstart /dev/md0 before getting to the partitioning screen, just in case, but that didn't help. It does recognize the raid device, but it seems that the `minor' argument passed to partRequests.RaidRequestSpec's ctor somehow doesn't make it to the solidified device name (or I'm missing something :-) Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.Create a RAID1 device with two partitions 2.Create a kickstart file that attempts to reuse this raid device 3.Tell the installer to use it Actual Results: For any of the `raid' lines above, the error is always the same, that implies that the raid device was set to None. Expected Results: It should be able to use the device I specified. Additional info:
Still present in Severn (beta1)
You shouldn't have to specify the devices that make up the raid for noformat, iirc. Just raid /oldboot --noformat --device=md0 (And also don't define raid.5, etc) If you do that, does it work?
The closest I tried on Severn was this: raid /l/root/boot --noformat --device=md0 --level=RAID1 --fstype ext3 and it didn't work just the same. Could --level and --fstype be causing problems? I'll try without them when I get a chance.
Quite possibly -- how does it look with test2 if you leave those off?
I can't test this any more, at least for now, because my laptop's RAID devices all have one replica in an internal disk and one in an external disk, which the installer can't cope with (see bug 105602)
Ok, I managed to recreate a set up in which I can duplicate this. raid /oldboot --noformat --device=md5 doesn't work. The installer halts saying: Unable to locate raid device None to use for /oldboot :-(
Created attachment 95305 [details] Get raid --device all the way to partRequest.device The problem was that the --device passed to raid never made it to the partRequest. This patch fixes it. Anaconda got all the way to `reading package information' after this patch, with a kickstart file that would formerly cause it to error out as described.
Below is committed and should have the same effect. I just avoid introducing another variable and continue to allow the device to be passed as just an int (as well as only setting the device on preexisting just to be paranoid) RCS file: /cvs/devel/anaconda/kickstart.py,v retrieving revision 1.212 diff -u -u -r1.212 kickstart.py --- kickstart.py 16 Oct 2003 16:46:38 -0000 1.212 +++ kickstart.py 21 Oct 2003 16:38:29 -0000 @@ -1044,6 +1044,8 @@ if uniqueID: request.uniqueID = uniqueID + if preexist and raidDev is not None: + request.device = "md%s" %(raidDev,) self.addPartRequest(id.partitions, request)
It is actually not entirely equivalent, in that it doesn't support raid devices that are not named md#, but I guess we don't care. I'll give this a try soon, along with the fix for 107518. Thanks!
anaconda won't work with raid devices not named md# anyway :)
Yeah, I remember that from my very first contact with raid in anaconda, when I had absolutely no clue it was supposed to be named md# :-) I thought explicitly naming a raid device without following this convention, in kickstart installs, might still work, which was why I did it the way I did, but it's not that I really care about that any more.
Thanks, verified.