Libvirt provides a portable, long term stable C API for managing the virtualization technologies provided by many operating systems. It includes support for QEMU, KVM, Xen, LXC, bhyve, Virtuozzo, VMware vCenter and ESX, VMware Desktop, Hyper-V, VirtualBox and the POWER Hypervisor.
Go to file
Daniel P. Berrange a6135ec1e6 Introduce a new event emitted when a virtualization failure occurs
This introduces a new domain

  VIR_DOMAIN_EVENT_ID_CONTROL_ERROR

Which uses the existing generic callback

typedef void (*virConnectDomainEventGenericCallback)(virConnectPtr conn,
                                                     virDomainPtr dom,
                                                     void *opaque);

This event is intended to be emitted when there is a failure in
some part of the domain virtualization system. Whether the domain
continues to run/exist after the failure is an implementation
detail specific to the hypervisor.

The idea is that with some types of failure, hypervisors may
prefer to leave the domain running in a "degraded" mode of
operation. For example, if something goes wrong with the QEMU
monitor, it is possible to leave the guest OS running quite
happily. The mgmt app will simply loose the ability todo various
tasks. The mgmt app can then choose how/when to deal with the
failure that occured.
* daemon/remote.c: Dispatch of new event
* examples/domain-events/events-c/event-test.c: Demo catch
  of event
* include/libvirt/libvirt.h.in: Define event ID and callback
* src/conf/domain_event.c, src/conf/domain_event.h: Internal
  event handling
* src/remote/remote_driver.c: Receipt of new event from daemon
* src/remote/remote_protocol.x: Wire protocol for new event
* src/remote_protocol-structs: add new event for checks
2011-05-29 20:21:53 +08:00
.gnulib@9d196fad05 build: avoid strerror_r pitfalls 2011-05-25 10:12:35 -06:00
daemon Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
docs schema: Add graphics element passwdValidTo attribute to schema 2011-05-26 16:23:07 +02:00
examples Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
include Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
m4 tests: Lower stack usage below 4096 bytes 2011-04-30 19:59:52 +02:00
po Add sexpr.c to the list of file with translatable messages 2011-05-27 15:48:47 +02:00
python Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
src Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
tests esx: Fix regression in absolute file name handling 2011-05-26 23:32:44 +02:00
tools virsh: improve schedinfo querying ability 2011-05-29 18:51:16 +08:00
.dir-locals.el maint: make spacing in .sh files easier 2011-03-14 21:57:42 -06:00
.gitignore maint: ignore generated file 2011-05-16 09:36:59 -06:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap qemu: allow blkstat/blkinfo calls during migration 2011-05-26 11:05:04 -06:00
AUTHORS openvz: Fix regression in config file parsing 2011-05-26 19:49:18 +02:00
autobuild.sh Remove the Open Nebula driver 2011-03-28 14:09:11 +01:00
autogen.sh build: avoid problems with autogen.sh runs from tarball 2011-02-12 06:28:28 -07:00
bootstrap build: update to latest gnulib 2011-05-18 08:31:33 -06:00
bootstrap.conf build: require newer gettext 2011-05-19 17:54:47 -06:00
cfg.mk Pass graphics setup from dst back to src via migration cookies 2011-05-16 15:18:21 +01:00
ChangeLog-old generate ChangeLog from git logs into distribution tarball 2009-07-08 16:17:51 +02:00
configure.ac interface: Implement driver methods for network config transaction API 2011-05-27 14:33:59 -04:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING maint: rename virBufferVSprintf to virBufferAsprintf 2011-05-05 13:47:40 -06:00
libvirt.pc.in * libvirt.pc.in: applied patch from Daniel Berrange to fix --cflags 2006-03-24 13:18:12 +00:00
libvirt.spec.in libvirt.spec: /var/cache/libvirt should be 0711. 2011-05-20 16:18:11 +01:00
Makefile.am Re-add libvirt.spec to tarball to allwo "make rpm" 2011-05-09 14:23:19 +08:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw32-libvirt.spec.in Remove iohelper on Win32 since it is not required 2011-03-31 17:41:51 +01:00
README Correct typos in the documentation (Atsushi SAKAI) 2008-01-24 10:15:13 +00:00
README-hacking maint: relax git minimum version 2010-02-24 14:29:27 -05:00
TODO Update todo list file to point at bugzilla/website 2010-10-13 16:45:26 +01:00

         LibVirt : simple API for virtualization

  Libvirt is a C toolkit to interact with the virtualization capabilities
of recent versions of Linux (and other OSes). It is free software
available under the GNU Lesser General Public License. Virtualization of
the Linux Operating System means the ability to run multiple instances of
Operating Systems concurrently on a single hardware system where the basic
resources are driven by a Linux instance. The library aim at providing
long term stable C API initially for the Xen paravirtualization but
should be able to integrate other virtualization mechanisms if needed.

Daniel Veillard <veillard@redhat.com>