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
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
.gnulib@a02ba4bf88 maint: revert gnulib update, until fixed automake is in more distros 2012-07-09 16:03:07 -06:00
build-aux Autogenerate augeas test case from default config files 2012-05-28 11:07:12 +01:00
daemon Define public API for receiving guest memory balloon events 2012-07-14 16:02:26 +08:00
docs Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
examples Define public API for receiving guest memory balloon events 2012-07-14 16:02:26 +08:00
gnulib build: fix fresh checkout on RHEL5 2012-04-19 17:11:43 -06:00
include Define public API for receiving guest memory balloon events 2012-07-14 16:02:26 +08:00
m4 maint: make it easier to copy FORTIFY_SOURCE snippet 2012-06-07 10:52:37 -06:00
po Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
python Define public API for receiving guest memory balloon events 2012-07-14 16:02:26 +08:00
src Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
tests Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
tools Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
.dir-locals.el maint: let emacs avoid tabs in rng files 2011-08-13 08:56:26 -06:00
.gitignore Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
.gitmodules make .gnulib a submodule 2009-07-08 16:17:51 +02:00
.mailmap maint: update preferred contributor name 2012-07-09 13:05:06 -06:00
AUTHORS Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
autobuild.sh Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
autogen.sh Allow NOCONFIGURE=1 to make autogen.sh skip ./configure 2012-06-25 10:41:10 +01:00
bootstrap build: update to latest gnulib 2012-05-29 08:43:55 -06:00
bootstrap.conf build: update to latest gnulib 2012-05-29 08:43:55 -06:00
cfg.mk Replace use of virNodeDeviceReportError with virReportError 2012-07-18 19:34:26 +01:00
ChangeLog-old virterror.c: Fix several spelling mistakes 2012-02-03 11:32:51 -07:00
configure.ac Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
COPYING.LIB remove all trailing blank lines 2009-07-16 15:06:42 +02:00
HACKING docs: Improve patch submission guidelines 2012-07-16 11:05:12 +02:00
libvirt.pc.in build: silence warning from autoconf 2012-05-30 09:22:02 -06:00
libvirt.spec.in Add a sheepdog backend for the storage driver 2012-07-18 20:08:27 +01:00
Makefile.am Switch automated builds to use Mingw64 toolchain instead of Mingw32 2012-06-25 10:41:10 +01:00
Makefile.nonreentrant Ban use of all inet_* functions 2010-10-22 11:59:23 +01:00
mingw-libvirt.spec.in Remove accidentally added Patch: lines from mingw-libvirt.spec.in 2012-06-27 14:31:52 +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>