[libvirt] [PATCH v4 3/3] qemu: Automatically create NVRAM store

Daniel P. Berrange berrange at redhat.com
Fri Aug 22 10:24:45 UTC 2014


On Fri, Aug 22, 2014 at 12:12:52PM +0200, Laszlo Ersek wrote:
> On 08/22/14 11:56, Daniel P. Berrange wrote:
> > On Fri, Aug 22, 2014 at 11:38:06AM +0200, Laszlo Ersek wrote:
> >> On 08/22/14 10:54, Daniel P. Berrange wrote:
> >>> On Fri, Aug 22, 2014 at 10:27:29AM +0200, Laszlo Ersek wrote:
> >>>> On 08/21/14 11:05, Daniel P. Berrange wrote:
> >>>>> So the user has the ability to specify a arbitrary BIOS in the XML,
> >>>>> but unless it matches one of the ones listed in the libvirt config
> >>>>> they aren't going to be able to start the guest. What can we do
> >>>>> about this, as it doesn't really seem like a great position to be
> >>>>> in.
> >>>>
> >>>> I disagree. Users who use virt-manager (for which patches still have to
> >>>> be written, to expose this feature) won't put arbitrary strings in the
> >>>> <loader> element; virt-manager should offer a minimal choice between
> >>>> "BIOS" vs. "UEFI".
> >>>>
> >>>> Users who are hard-core enough to hack the domain XML by hand are
> >>>> expected to provide good values.
> >>>
> >>> The problem I'm raising is that it is *not* sufficient to merely
> >>> provide good values in the XML here. You can't simply deploy a
> >>> custom OVMF file and update your XML, because this code is relying
> >>> on values in the libvirtd.conf configuration file.
> >>
> >> If the domain XML spells out both <loader> and <nvram>, then both should
> >> be updated manually by the user (if the VM's old nvram is not compatible
> >> with the new loader). This would include the user either instantiating
> >> the new varstore for the VM, or removing the <nvram> element (so that
> >> the new default template can take effect).
> >>
> >> If the domain XML doesn't spell out <nvram> (either genuinely, or
> >> because the user removed that element, see above), then yes, you need to
> >> edit /etc/libvirt/qemu.conf.
> >>
> >> I don't see a problem with that. You won't keep installing OVMF_CODE.fd
> >> files in random locations in the host filesystem. You might be
> >> developing OVMF and install various ad-hoc builds, but those would go to
> >> the same location (same pathname), hence it would have to be added only
> >> once to the qemu.conf file.
> > 
> > Well I do see a problem with editing qemu.conf for this, particularly
> > when there is a very straightforward way to avoid that need which I
> > have outlined here. It is crazy to force these extra hoops onto people
> 
> OK.
> 
> But, if you don't provide a default map in some central config file, for
> at least the system-wide OVMF installation(s), how do you save people
> from the exact same burden (== manual varstore instantiation), when they
> try to create a brand new UEFI virtual machine that uses one of the
> system-wide OVMF filesets? Libvirt won't know where to copy the varstore
> from.

Having a default map in libvirt and in qemu.conf is still acceptable
for the common case. I just want to make sure that if the user wants
to provide a non-default BIOS in <loader> they can still get the NVRAM
automatically created from a template, without having to edit qemu.conf
and restart libvirtd.

Regards,
Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list