• S
    Add a sheepdog backend for the storage driver · 29bc4fe6
    Sebastian Wiedenroth 提交于
    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: NSebastian Wiedenroth <wiedi@frubar.net>
    29bc4fe6
storagebackendsheepdogtest.c 5.6 KB