[libvirt] Lifecycle events during reboot for KVM and Xen

Daniel P. Berrange berrange at redhat.com
Mon Aug 11 09:23:54 UTC 2014


On Thu, Aug 07, 2014 at 08:18:54AM +0200, Thomas Bechtold wrote:
> Hi,
> 
> during debugging a problem[1] of Openstack Nova I recognized the following:
> 
> Doing a reboot (from inside of the VM with "reboot" command) on a kvm VM
> doesn't send any lifecycle events (events debugged with [2]).
> Doing the same thing with a xen VM leads to 2 events: First a
> VIR_DOMAIN_EVENT_STOPPED and then a VIR_DOMAIN_EVENT_STARTED event.
> The problem here is that for the xen case it doesn't seem to be possible
> to recognize that a reboot is ongoing. For that reason the OpenStack
> Nova component just forces the domain to stop after receiving the
> VIR_DOMAIN_EVENT_STOPPED event.
> 
> Is it expected that the 2 drivers send different events for the same
> action or a bug in qemu/xen/libvirt?

The lifecycle events reflect changes in the state of the machine hardware.
When a guest OS reboots in QEMU, the actual hardware does not do a running
-> shutoff -> running transition. Hence it is not appropriate to emit a
STOPPED/STARTED event in this case. I have a feeling that in Xen though,
the actual Xen domain is torn down & created again, though perhaps that is
actually different for PV vs HVM domains.

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