Trying to use KVM with libgfapi and getting wrong path

I’m trying to move to using libgfapi from just a standard NFS mount and I can’t seem to get ONE to feed libvirt the right path in the deployment.0.

Here’s one as an example:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    <name>one-177</name>
    <cputune>
            <shares>1024</shares>
    </cputune>
    <memory>786432</memory>
    <os>
            <type arch='x86_64'>hvm</type>
            <boot dev='hd'/>
    </os>
    <devices>
            <emulator>/usr/bin/qemu-system-x86_64</emulator>
            <disk type='network' device='disk'>
                    <source protocol='gluster' name='gv0/177/disk.0'>
                            <host name='kvm01' port='24007' transport='tcp'/>
                    </source>
                    <target dev='vda'/>
                    <driver name='qemu' type='qcow2' cache='none'/>
            </disk>
            <disk type='file' device='cdrom'>
                    <source file='/var/lib/one/datastores/0/100/177/disk.1'/>
                    <target dev='hda'/>
                    <readonly/>
                    <driver name='qemu' type='raw'/>
            </disk>
            <interface type='bridge'>
                    <source bridge='pubbr0'/>
                    <mac address='XX:XX:XX:XX:XX:XX'/>
            </interface>
            <graphics type='vnc' listen='0.0.0.0' port='6077'/>
    </devices>
    <features>
            <acpi/>
    </features>

The gluster disk in the above isn’t the correct path. The cdrom path is correct though which has me confused. Where is the 100 in

<source file='/var/lib/one/datastores/0/100/177/disk.1'/>

coming from and why isn’t in the

<source protocol='gluster' name='gv0/177/disk.0'>

Because if I do:

qemu-img info gluster://kvm01:24007/gv0/177/disk.0
qemu-img: Could not open 'gluster://kvm01:24007/gv0/177/disk.0': Could not open 'gluster://kvm01:24007/gv0/177/disk.0': No such file or directory

it fails, but if I fix the path to this:

qemu-img info gluster://kvm01:24007/gv0/100/177/disk.0

Then it works:

image: gluster://kvm01:24007/gv0/100/177/disk.0
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 830M
cluster_size: 65536
Format specific information:
compat: 0.10

What am I missing? I have the gluster fuse mount mounted per the documentation at:

/var/lib/one/datastores/0
/var/lib/one/datastores/1 -> /var/lib/one/datastores/0

Any ideas?

I’ve switched gears and decided to go with LizardFS (MooseFS fork) instead. Seems to be easier maintenance and fits our needs better. Also adding a new TM for it was pretty easy.