This is a bug basically. I have filed a bug report here:On Mon, Nov 04, 2013 at 06:35:42PM -0700, Jon wrote:
> 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.
https://bugzilla.redhat.com/show_bug.cgi?id=1026688
It would be helpful to try with a newer version of libguestfs. Ubuntu
has just pushed the 1.24.0 package. I don't know if it'll help or
not, but it would be useful to know if the behaviour changes.
https://launchpad.net/ubuntu/+source/libguestfs/1:1.24.0-0ubuntu1/+build/5181109
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-p2v converts physical machines to virtual machines. Boot with a
live CD or over the network (PXE) and turn machines into KVM guests.
http://libguestfs.org/virt-v2v