2005-09-08
Another Fedora Core 4 Anaconda bug
To go with the other FC4 Anaconda bugs (and still no updated installer images), we just ran into another Anaconda bug in the process of attempting to upgrade a server from Fedora Core 2 to FC4. This server, like most of our other servers, uses mirrored system disks, which in turn means it has two swap partitions (one on each drive).
If you have this configuration and are upgrading from a previous Fedora Core or Red Hat version, on some of your systems Anaconda will abort the upgrade with the helpful message:
Duplicate labels
Multiple devices are labelled
(sic; 'labelled' is how the message spells it.)
You will note that nothing is listed as to what the duplicate label is. This is because the 'duplicate' label appears to be some sort of null label that Anaconda is apparently finding in the swap partitions.
(If you are going 'I didn't know swap partitions could be labelled', you're not alone. Presumably this bug goes along nicely with Anaconda reading totally bogus garbage from newly created swap partitions as their alleged 'label', as mentioned in FC4BuggyAnaconda. It appears that swap partition labels are not very robust or reliable, which makes me oh so thrilled that Fedora Core 4 wants to use them.)
There are two Anaconda bugs filed for this in Red Hat's Bugzilla: #160622 and #166820. No resolution is currently available, not even 'fixed in Rawhide'. I say 'appears' up above because, from the bug reports, no one is currently entirely certain of what the bug is; that it is caused by multiple unlabeled swap partitions is so far not an entirely sure bet.
The really irritating thing about this bug is that it only happens some of the time, on some systems. We've already upgraded three servers with the same sort of swap configuration to FC4 without this problem; it figures that we hit it now, when we 'trust' FC4 enough to try to put it on our central fileserver, as our good upgrade window closes.
The suggested workaround is to give your swap devices (different)
labels, using mkswap -L
. To complicate life, the Fedora Core 2
mkswap
doesn't have a -L
argument. The Anaconda image has a
mkswap
, but Anaconda may or may not leave device nodes around for
people to run mkswap
by hand. The Fedora Core 4 mkswap
binary
doesn't run on Fedora Core 2, since it's built against the FC4 glibc.
I don't know how we'll fix this yet, since we spent today finding and
poking at this issue. Probably I'll have to recompile the FC4 mkswap
source code on Fedora Core 2 and try that. Updates later, when I get
something to work.
Updated: see FC4AnacondaAgain for my eventual workaround.