mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
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>
12 lines
317 B
XML
12 lines
317 B
XML
<pool type='sheepdog'>
|
|
<name>sheepdog</name>
|
|
<uuid>65fcba04-5b13-bd93-cff3-52ce48e11ad7</uuid>
|
|
<capacity unit='bytes'>0</capacity>
|
|
<allocation unit='bytes'>0</allocation>
|
|
<available unit='bytes'>0</available>
|
|
<source>
|
|
<host name='localhost' port='7000'/>
|
|
<name>sheepdog</name>
|
|
</source>
|
|
</pool>
|