[blivet/anaconda 0/4] bootloader error patches

Brian C. Lane bcl at redhat.com
Thu Oct 3 23:38:15 UTC 2013


From: "Brian C. Lane" <bcl at redhat.com>

rhbz#1013474
rhbz#1013482
rhbz#1015277

These are for master and rhel7 branches.

These patches are related to using raw filesystems on disks, without
partitioning. This was mostly working, but it revealed some problems with the
bootloader code and how it handled errors. Blivet was just logging
BootLoaderErrors, instead of letting it propagate up, so we had no way to tell
when stage1 setup wasn't happening. Anaconda would then try using it, and it
would throw tracebacks about missing attributes.

One of the problems is that a disk can now switch states, depending how it was
first setup and what the user or autopart does to it.

This patchset lets blivet raise the BootLoaderError, Anaconda catches it and
resets things so that it doesn't try to use stale information. eg. thinking we
have a good stage1 when we now don't because it was just turned into a
un-partitioned filesystem.

These all go together. The first one handles catching the error, but then you end
up always running into the second one.

Also note (and I'll update the bug with this as well), doing a kickstart with a
single raw filesystem isn't going to be bootable, no matter what. It needs a
boot partition. This just makes sure that there isn't a traceback and that you
get the 'no suitable stage1' error.

I'd appreciate a detailed and thorough review. git am these and try them out
with your own kickstart files (and without), just to be sure. I've tested them in
a variety of ways, but more is better.

One final note -- if you are using the tty to change the disks, make sure the device
nodes are correct. wipefs and dd will leave /dev/vda1, etc. in place and this causes
the lvm code to think it needs to filter them out, causing a crash (I'll be filing a
bug for this pre-existing problem in a bit).

-- 
1.8.3.1



More information about the anaconda-patches mailing list