[Ovirt-devel] VM Installation problem (and proposed solution)

Daniel P. Berrange berrange at redhat.com
Wed Sep 3 09:39:37 UTC 2008


On Fri, Aug 29, 2008 at 08:08:04AM +0200, Chris Lalancette wrote:
> Daniel P. Berrange wrote:
> > On Thu, Aug 28, 2008 at 05:20:06PM +0200, Chris Lalancette wrote:
> >> Hello all (Ian especially),
> >>      apevec pointed out a problem with installation of guests under oVirt.  What
> >> currently happens is that after you finish the installation of (say) Fedora in a
> >> VM, the VM reboots, but then immediately PXE boots again.  This is because we
> >> haven't killed the guest and re-defined the XML to have the boot device be the
> >> hard drive, like it should.
> > 
> > You don't have to wait for installation to finish before re-defining the 
> > XML with hard drive as the boot device
> > 
> > You can define the post-install XML config the moment the guest has booted.
> > When it shuts down, libvirt will automatically switch over to the newly
> > defined config.  This is how virt-install handles it.
> 
> Yes, true.  The difference is because of the asynchronous nature of taskomatic,
> we basically kick off the guest on the node, and then go on to do other things.
>  The next time we would hear anything about this guest is when host-status
> eventually polled it and noticed it "shutoff" (even though we think it is
> running).  So then we would need to perform the heuristic of "if this was
> install time, and the guest is now dead, restart it".  Just doing all of this
> out on the node will reduce our round-trips to the server, and do the whole
> thing in a more timely fashion.  That's why I think it is better to do this
> whole thing remotely on the node.

The trouble with this is that it does not map onto a libvirt API cleanly.
The idea behind the AMQP binding was to map 1-to-1 onto the libvirt API
and not invent oVirt specific constructs in the API. I think we need to
come up with some way to perform this automatic reboot with different XML
within the scope of the libvirt API. Not quite sure what that would mean
though. Perhaps a new lifecycle action for the <on_reboot> tag, to explicitly
represent a 'destroy+restart' semantic.

Daniel
-- 
|: Red Hat, Engineering, London   -o-   http://people.redhat.com/berrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505  -o-  F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|




More information about the ovirt-devel mailing list