First commit of XenAPI-specific code (i.e. connections to the open-source community project Xen Cloud Platform, or the open-source commercial product Citrix XenServer).
First commit of XenAPI-specific code (i.e. connections to the open-source
community project Xen Cloud Platform, or the open-source commercial product
Citrix XenServer).

A new connection type has been added (xenapi) which means that libvirt calls
will be replaced with calls to XenAPI.

This support depends upon the XenAPI library (available from xen.org).
However, the library is loaded on-demand, so there is no need for the library
to be present unless you actually want to use XenAPI.  The same is true of
libvirt, so there is no need to have libvirt present if you are only using
XenAPI.

This work is incomplete.  The VMs don't actually start yet, and won't
until we settle on the proposed refactoring for bootable volumes.  Also,
VM console support is not yet refactored.

Finally, xenapi.py does not support the metrics monitoring calls used by
monitor.py (block_stats, interface_stats).  XenAPI already includes HTTP
access to RRDs for retrieving aggregated stats, so there is no need for
monitor.py at all (xapi does it for you).  The plan is to arrange for those
RRDs to be passed straight to the reporting layer without the need for
the aggregation code in nova-monitorinstance.

n0ano/ganttclient