[Libguestfs] [libguestfs] Problem using virt-sysprep with RBD images

Jon three18ti at gmail.com
Wed Nov 6 18:17:14 UTC 2013


Hello Richard,

Thanks for the reply.

Indeed this behaviour exists in 1.25.6.

Grepping through the source [1], there are a number of files in
"./po/*.po[t]?" that contain this message, but I think it's ./src/drives.c
where the fail condition is actually detected / set.

On line 300 there is an if statement that checks the first character is a
slash:

  if (exportname[0] != '/') {
    error (g, _("rbd: image name must begin with a '/'"));
    return NULL;
  }


I tried to comment this out and recompile guestfs, but I get an error:

make[2]: Entering directory `/root/libguestfs-1.25.6/builder'
ocamlfind ocamlopt -g -warn-error CDEFLMPSUVYZX -package str,unix -I
../src/.libs -I ../ocaml -I ../mllib -package gettext-stub -c builder.ml -o
builder.cmx
File "builder.ml", line 53, characters 4-14:
Error: Unbound value List.iteri
make[2]: *** [builder.cmx] Error 2
make[2]: Leaving directory `/root/libguestfs-1.25.6/builder'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/libguestfs-1.25.6'
make: *** [all] Error 2

Can you provide some assistance resolving this compile error please?  Is
there perhaps a better place to pull the source from?

Thanks,
Jon A

[1]
http://libguestfs.org/download/1.25-development/libguestfs-1.25.6.tar.gz

On Tue, Nov 5, 2013 at 2:01 AM, Richard W.M. Jones <rjones at redhat.com>wrote:

> 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 at 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 at 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.
>
> This is a bug basically.  I have filed a bug report here:
>
> 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20131106/7766243a/attachment.htm>


More information about the Libguestfs mailing list