[libvirt] Lifecycle events during reboot for KVM and Xen

Daniel P. Berrange berrange at redhat.com
Mon Aug 11 09:26:15 UTC 2014


On Fri, Aug 08, 2014 at 10:54:53AM -0600, Jim Fehlig wrote:
> 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.
> >   
> 
> Yep. Same can be said for new libxl Xen driver too.
> 
> > The problem here is that for the xen case it doesn't seem to be possible
> > to recognize that a reboot is ongoing.
> 
> Right. There is no VIR_DOMAIN_EVENT_REBOOTED event type.
> 
> >  For that reason the OpenStack
> > Nova component just forces the domain to stop after receiving the
> > VIR_DOMAIN_EVENT_STOPPED event.
> >   
> 
> Yikes!
> 
> > Is it expected that the 2 drivers send different events for the same
> > action or a bug in qemu/xen/libvirt?
> >   
> 
> You mentioned above that the qemu driver doesn't send *any* events when
> a reboot occurs within the VM. Looking at the code seems to confirm
> that. We could certainly change the Xen drivers to behave similarly, but
> I'd like to hear opinions from other libvirt devs. Options for resolving
> this include
> 
> 1. Remove emitting the events from Xen drivers

Possibily, though I'm not convinced this is actually possible.

> 2. Add the events to qemu driver and fix nova
> 3. Add VIR_DOMAIN_EVENT_REBOOTED, adapt drivers to use it, and fix nova

FYI, not having VIR_DOMAIN_EVENT_REBOOTED was an explicit decision since
it is not a lifecycle transition. We do have a separate event though
VIR_DOMAIN_EVENT_ID_REBOOOT to report on the case where the machine is
has a reset.

I think we probably need to make Nova robust to current behaviour.

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