[libvirt] What to do about the qemu "-boot strict" option

Laine Stump laine at laine.org
Wed Nov 27 12:37:02 UTC 2013


Awhile back a bug was filed against libvirt about the inability to
completely exclude a disk from the boot order:

   https://bugzilla.redhat.com/show_bug.cgi?id=888635

In short, you can't have a domain that used PXE to boot, but also has an
un-bootable disk device *even if that disk isn't listed in the boot
order*, because if PXE times out (e.g. due to the bridge forwarding
delay), the BIOS will move on to the next target, which will be the
unbootable disk device (again - even though it wasn't given a boot
order), and get stuck at a "/BOOT DISK FAILURE, PRESS ANY KEY" message
/until a user intervenes.

It was obviously beyond the ability of libvirt to fix this (although it
can be worked around by creating a very small disk image with a
bootloader that merely instructs the system to reboot, and placing
*that* disk in the boot order just after the PXE device), so the BZ was
closed as CANTFIX.

A couple days ago I noticed that Amos Kong had later actually fixed this
problem in seabios and qemu:

   https://bugzilla.redhat.com/show_bug.cgi?id=888633
   https://bugzilla.redhat.com/show_bug.cgi?id=903204

Existing behavior is preserved though, and the new behavior only comes
about if "-boot strict" is specified on the qemu commandline.

It definitely seems desirable to have this ability in libvirt, but I'm
almost of the opinion that this should *always* be the behavior (if you
want all devices to be in the boot order, you can just give all of them
(or none of them, if you're feeling adventurous) a boot order ranking).
But I thought it would be prudent to ask opinions about that before
making any patch.

So what are the opinions? Should the "if any devices are given a boot
order, only attempt to boot from devices that have a boot order
specified" behavior just be the default (and only) behavior when
qemu/seabios supports it? (this would imply that the old behavior is
just a bug)? Or do we need to make it configurable? If it needs to be
configurable, the boot-related xml seems to be a bit unorganized (a flat
list of elements with mostly a single attribute for each), but I suppose
this could be added as a new attribute to the <bios> element...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20131127/dc8a1d72/attachment-0001.htm>


More information about the libvir-list mailing list