Bug 90649 - can't --useexisting or --noformat raid device
can't --useexisting or --noformat raid device
Product: Red Hat Linux Beta
Classification: Retired
Component: anaconda (Show other bugs)
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Jeremy Katz
Mike McLean
Depends On:
Blocks: CambridgeTarget
  Show dependency treegraph
Reported: 2003-05-11 19:20 EDT by Alexandre Oliva
Modified: 2007-04-18 12:53 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-10-25 16:26:01 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Get raid --device all the way to partRequest.device (1.24 KB, patch)
2003-10-19 22:56 EDT, Alexandre Oliva
no flags Details | Diff

  None (edit)
Description Alexandre Oliva 2003-05-11 19:20:18 EDT
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:

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:
Comment 1 Alexandre Oliva 2003-07-23 20:30:47 EDT
Still present in Severn (beta1)
Comment 2 Jeremy Katz 2003-07-24 19:57:06 EDT
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?
Comment 3 Alexandre Oliva 2003-07-24 20:43:44 EDT
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.
Comment 4 Jeremy Katz 2003-09-25 19:00:39 EDT
Quite possibly -- how does it look with test2 if you leave those off?
Comment 5 Alexandre Oliva 2003-09-25 21:06:17 EDT
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)
Comment 6 Alexandre Oliva 2003-10-17 18:43:59 EDT
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

Comment 7 Alexandre Oliva 2003-10-19 22:56:40 EDT
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.
Comment 8 Jeremy Katz 2003-10-21 12:40:47 EDT
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)
Comment 9 Alexandre Oliva 2003-10-21 14:03:00 EDT
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!
Comment 10 Jeremy Katz 2003-10-21 14:25:18 EDT
anaconda won't work with raid devices not named md# anyway :)
Comment 11 Alexandre Oliva 2003-10-21 15:18:23 EDT
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.
Comment 12 Alexandre Oliva 2003-10-25 16:26:01 EDT
Thanks, verified.

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