libvirt/python
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
..
tests maint: fix grammar in error message 2011-02-21 10:35:25 -07:00
.gitignore Re-arrange python generator to make it clear what's auto-generated 2009-09-21 14:41:46 +01:00
generator.py sched: introduce virDomainGetSchedulerParametersFlags 2011-05-29 18:38:10 +08:00
libvirt-override-api.xml virDomainGetState public API 2011-05-16 10:04:18 +02:00
libvirt-override-virConnect.py Fix SEGV on exit after domainEventDeregister() 2010-07-23 13:26:40 -06:00
libvirt-override-virStream.py Add public API definition for data stream handling 2009-09-29 15:48:52 +01:00
libvirt-override.c Introduce a new event emitted when a virtualization failure occurs 2011-05-29 20:21:53 +08:00
libvirt-override.py python: Use hardcoded python path in libvirt.py 2011-03-14 12:37:19 +01:00
Makefile.am python: Use hardcoded python path in libvirt.py 2011-03-14 12:37:19 +01:00
README Re-arrange python generator to make it clear what's auto-generated 2009-09-21 14:41:46 +01:00
TODO syntax-check: enforce the no-cvs-keywords prohibition 2008-12-15 10:24:54 +00:00
typewrappers.c python: Use PyCapsule API if available 2011-01-10 15:18:05 -05:00
typewrappers.h nwfilter: python bindings for nwfilter 2010-04-29 06:46:01 -04:00

    libvirt Python Bindings README
    ==============================

Most of the libvirt python binding code is automatically generated
using the script  generator.py, and the API description from
docs/libvirt-api.xml


Manually written files:

 - libvirt-override.c: methods where the C binding needs to be hand crafted
 - libvirt-override.py: global methods where the C and python bindings have different args
 - libvirt-override-api.xml: methods where the auto-extracted API docs are not
   suitable for python auto-generator. Overriding this if the method is going
   into libvirt-override.c, but we still want auto-generated libvirt-override.py
 - libvirt-override-virConnect.py: virConnect class methods
 - typewrappers.h,.c: Python object wrappers for each libvirt C object


Auto-generated files:

  - libvirt.py: The main python binding. Comprises auto-generated code, along
    with contents from libvirt-override.py and libvirt-override-virConnect.py
  - libvirt.c, libvirt.h: The C glue layer for the python binding. Comprises
    auto-generated code, along with libvirt-override.c
  - libvirt-export.c: List of auto-generated C methods, included into
    the libvirt-override.c method table