On Tue, Apr 07, 2009 at 04:19:42PM -0500, Hollis Blanchard wrote: > Hi Rich, your watchdog qemu patch is working fine for me (i6300esb, > default reset behavior), but I was wondering... how should libvirt find > out about the watchdog firing? This falls into the general problem space of how does QEMU notify its management app of interesting events. We already really want the ability to be notify of ENOSPC errors in disks, and also would like to know if the VM is paused for any reason outside our control. There have been proposals to just print an async message to the monitor upon events, that mgmt app could then parse. This is a little fragile though, so for a long term solutiuon we really need the generic libqemumonitor.so type API with formal async notification support. For notification of the watchdog firing, I guess the answer depends on what sort of action you've told QEMU todo. If the action is a 'shutdown', then there won't be much opportunity to notify the mgmt app before QEMU exits. We could define a watchdog action of 'pause' which just pauses the VM CPUs, and then notifies via the monitor that the watchdog fired. The mgmt app could receive this, and then destroy the VM if desired. > At that point, I think the next step from libvirt is to send a > VIR_DOMAIN_EVENT_STOPPED_CRASHED domain event, correct? That would be the ideal event to emit if we could get a notification of the fact that watchdog fired. If QEMU does the shutdown itself, then we won't be able to distinguish this from a regular graceful VM shutdown and so would just end up with VIR_DOMAIN_EVENT_STOPPED_SHUTDOWN event being emitted when we see QEMU exit. 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 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list