Hello,

I'm having a problem when trying to use virt-sysprep against vms that have rbd disk images.  When I run virt-sysprep I get the following error:

>> root@kitt:~/libguestfs-1.22.4# virt-sysprep -d server-clone-test --firstboot firstboot.sh
>> Examining the guest ...
>> Fatal error: exception Guestfs.Error("rbd: image name must begin with a '/'")

My Disk definition is as follows:

>>     <disk type='network' device='disk'>
>>       <driver name='qemu'/>
>>       <source protocol='rbd' name='libvirt-pool/server-clone-test'>
>>         <host name='192.168.0.40' port='6789'/>
>>         <host name='192.168.0.35' port='6789'/>
>>         <host name='192.168.0.2' port='6789'/>
>>       </source>
>>       <target dev='hdb' bus='ide'/>
>>       <address type='drive' controller='0' bus='0' target='0' unit='1'/>
>>     </disk>

I can resolve this error by changing the name of the libvirt-pool:

>>       <source protocol='rbd' name='/libvirt-pool/server-clone-test'>

But this causes an error when attempting to boot the vm:

>> root@kitt:~/libguestfs-1.22.4# virsh start server-clone-test       
>> error: Failed to start domain server-clone-test
>> error: internal error: process exited while connecting to monitor: W: kvm binary is deprecated, please use qemu-system-x86_64 instead
>> char device redirected to /dev/pts/5 (label charserial0)
>> qemu-system-x86_64: -drive file=rbd:/libvirt-pool/server-clone-test:auth_supported=none:mon_host=192.168.0.40\:6789\;192.168.0.35\:6789\;192.168.0.2\:6789,if=none,id=drive-ide0-0-1: pool name too short
>> qemu-system-x86_64: -drive file=rbd:/libvirt-pool/server-clone-test:auth_supported=none:mon_host=192.168.0.40\:6789\;192.168.0.35\:6789\;192.168.0.2\:6789,if=none,id=drive-ide0-0-1: could not open disk image rbd:/libvirt-pool/server-clone-test:auth_supported=none:mon_host=192.168.0.40\:6789\;192.168.0.35\:6789\;192.168.0.2\:6789: Invalid argument

I'm currently using libguestfs-1.22.4 and I did run into a known bug [1] that I was able to patch, but I don't think that's related to the issues with disk naming.

Is there a way to give virt-sysprep a rbd with the -a flag, or is there a better way to sysprep vms?  I would like to avoid having to edit the vm config if possible.

Thanks,
Jon A

[1]  https://bugs.launchpad.net/ubuntu/+source/libguestfs/+bug/1243190