libvirt/src/conf
Sebastian Wiedenroth 29bc4fe646 Add a sheepdog backend for the storage driver
This patch brings support to manage sheepdog pools and volumes to libvirt.
It uses the "collie" command-line utility that comes with sheepdog for that.

A sheepdog pool in libvirt maps to a sheepdog cluster.
It needs a host and port to connect to, which in most cases
is just going to be the default of localhost on port 7000.

A sheepdog volume in libvirt maps to a sheepdog vdi.
To create one specify the pool, a name and the capacity.
Volumes can also be resized later.

In the volume XML the vdi name has to be put into the <target><path>.
To use the volume as a disk source for virtual machines specify
the vdi name as "name" attribute of the <source>.
The host and port information from the pool are specified inside the host tag.

  <disk type='network'>
    ...
    <source protocol="sheepdog" name="vdi_name">
      <host name="localhost" port="7000"/>
    </source>
  </disk>

To work right this patch parses the output of collie,
so it relies on the raw output option. There recently was a bug which caused
size information to be reported wrong. This is fixed upstream already and
will be in the next release.

Signed-off-by: Sebastian Wiedenroth <wiedi@frubar.net>
2012-07-18 20:08:27 +01:00
..
capabilities.c Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
capabilities.h Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
cpu_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
cpu_conf.h Added the attribute vendor_id to the cpu model 2012-07-03 12:06:38 +02:00
domain_audit.c Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
domain_audit.h snapshot: make it possible to audit external snapshot 2011-09-05 07:03:05 -06:00
domain_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
domain_conf.h Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
domain_event.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
domain_event.h Define public API for receiving guest memory balloon events 2012-07-14 16:02:26 +08:00
domain_nwfilter.c Pass the VM's UUID into the nwfilter subsystem 2011-12-08 21:35:20 -05:00
domain_nwfilter.h Pass the VM's UUID into the nwfilter subsystem 2011-12-08 21:35:20 -05:00
interface_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
interface_conf.h interface: implement a test driver for network config transaction API. 2011-05-27 14:34:13 -04:00
netdev_bandwidth_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
netdev_bandwidth_conf.h Split src/util/network.{c,h} into 5 pieces 2011-11-15 10:27:54 +00:00
netdev_vport_profile_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
netdev_vport_profile_conf.h Split src/util/network.{c,h} into 5 pieces 2011-11-15 10:27:54 +00:00
network_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
network_conf.h Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
node_device_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
node_device_conf.h Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
nwfilter_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
nwfilter_conf.h Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
nwfilter_ipaddrmap.c nwfilter: move code for IP address map into separate file 2012-06-01 19:32:06 -04:00
nwfilter_ipaddrmap.h nwfilter: move code for IP address map into separate file 2012-06-01 19:32:06 -04:00
nwfilter_params.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
nwfilter_params.h Convert 'raw MAC address' usages to use virMacAddr 2012-07-17 08:07:59 -04:00
secret_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
secret_conf.h Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
storage_conf.c Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
storage_conf.h Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
storage_encryption_conf.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
storage_encryption_conf.h snapshot: simplify indentation of disk encryption xml 2011-10-26 11:14:43 -06:00
virconsole.c Convert all files in src/conf/ to use virReportError() 2012-07-18 19:01:50 +01:00
virconsole.h util: Add helpers for safe domain console operations 2012-02-27 15:05:17 +01:00
virdomainlist.c conf: Don't shadow error from virGetDomain() 2012-06-28 17:56:46 +02:00
virdomainlist.h list: new helper function to collect snapshots 2012-06-19 14:51:54 -06:00