Hello Richard,

I'm using:

>> virt-sysprep 1.25.6

I honestly don't remember if the currently installed version is from the tarball or pulled from the github source...  Now that you mention it, I think it could even be the version with my "hack" to fix virt-sysprep...

Which version are you building?  I see there's a:

>> libguestfs-1.25.11.tar.gz 23-Nov-2013

Would you recommend building that or building from the git repository?

Thanks,
Jon A



On Mon, Nov 25, 2013 at 3:38 PM, Richard W.M. Jones <rjones@redhat.com> wrote:
On Mon, Nov 25, 2013 at 09:58:50PM +0000, Richard W.M. Jones wrote:
> On Mon, Nov 25, 2013 at 12:52:21PM -0700, Jon wrote:
> > Hello,
> >
> > I'm having trouble connecting to rbd images. It seems like somewhere the
> > name is getting chewed up.  I wonder if this is related to my previous
> > troubles [1] [2] with rbd images.
> >
> > I'm trying to add an rbd image, but when I launch the guestfs object I get
> > an error:
> >
> > >> libguestfs: trace: launch = -1 (error)
> >
> > I'm adding a single RBD
> > >> libguestfs: trace: add_drive "libvirt-pool/build_vm_test-os"
> > "format:raw" "protocol:rbd" "server:192.168.0.35:6789 192.168.0.2:6789
> > 192.168.0.40:6789"
> >
> > But it seems like the name is getting chewed up in the call to kvm:
> >
> > >> -drive
> > file=rbd:libvirt:mon_host=192.168.0.35\:6789\;192.168.0.2\:6789\;192.168.0.40\:6789:auth_supported=none,cache=writeback,format=raw,id=hd0,if=none
> > >> disk image
> > rbd:libvirt:mon_host=192.168.0.35\:6789\;192.168.0.2\:6789\;192.168.0.40\:6789:auth_supported=none:
> > Invalid argument
> >
> > I am able to add non rbd images without an issue.
> >
> > Any thoughts?
>
> As a general comment, there should be no difference between the API
> from C and the API from Perl.  Of course, occasionally we introduce
> Perl-specific bugs in the bindings, but these are rarer than you would
> think (the Perl bindings are automatically generated, so any bugs
> would be systematic, affecting many different calls at once).
>
> [...]
> > [1] https://bugzilla.redhat.com/show_bug.cgi?id=1026688
> > [2] https://www.redhat.com/archives/libguestfs/2013-November/msg00003.html
> >
> > Full Debug Output:
> >
> > libguestfs: trace: set_verbose true
> > libguestfs: trace: set_verbose = 0
> > libguestfs: create: flags = 0, handle = 0x2e74d90, program = perl
> > libguestfs: trace: set_trace true
> > libguestfs: trace: set_trace = 0
> > libguestfs: trace: add_drive "libvirt-pool/build_vm_test-os" "format:raw"
> > "protocol:rbd" "server:192.168.0.35:6789 192.168.0.2:6789 192.168.0.40:6789"
> > libguestfs: trace: add_drive = 0
> > libguestfs: trace: launch
> > libguestfs: trace: get_tmpdir
> > libguestfs: trace: get_tmpdir = "/tmp"
> > libguestfs: trace: get_backend
> > libguestfs: trace: get_backend = "direct"
> [...]
> >     -drive
> > file=rbd:libvirt:mon_host=192.168.0.35\:6789\;192.168.0.2\:6789\;192.168.0.40\:6789:auth_supported=none,cache=writeback,format=raw,id=hd0,if=none
>
> In this case the export name is getting truncated ...
>
> With the direct backend, the following code is responsible for
> constructing the -drive parameter:
>
> https://github.com/libguestfs/libguestfs/blob/master/src/drives.c#L1307
>
> There seems to be something pretty strange going on with the
> u.exportname field.  I can't quite understand it at the moment, but it
> is certainly a bug.

BTW I am unable to reproduce this with upstream libguestfs.  Which
version are you using?

Rich.

--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org