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 _______________________________________________ Libguestfs mailing list Libguestfs@redhat.com https://www.redhat.com/mailman/listinfo/libguestfs