[Libguestfs] Unable to convert vm

Richard W.M. Jones rjones at redhat.com
Thu Apr 4 12:09:29 UTC 2013


On Thu, Apr 04, 2013 at 01:24:05PM +0200, Georg Troxler wrote:
> I am unable to convert a vm using virt-v2v. From the trace and debug
> logs I am unable to understand  the cause of the problem. I assume
> it is a permission or configuration issue but I don't know where to
> start looking.
> 
> The following command was issued:
> 
> LIBGUESTFS_TRACE=1 LIBGUESTFS_DEBUG=1 virt-v2v -ic
> qemu+ssh://xxx@192.168.xxx.xxx/system -o rhev -os
> 192.168.xxx.xxx:/mnt/exports -of qcow2 -oa sparse -n ovirtmgmt
> testvm
> 
> virt-v2v version is 0.9.0.
> 
> This is the output produced by the command:
> 
> libguestfs: trace: set_verbose true
> libguestfs: trace: set_verbose = 0
> libguestfs: trace: set_cachedir "/tmp"
> libguestfs: trace: set_cachedir = 0
> libguestfs: create: flags = 0, handle = 0x473ce90
> libguestfs: trace: add_drive "/tmp/lD0zFfpO0_/0e6f780b-6095-4055-a00d-8579b80ad30b/v2v.yxFHyfAJ/1cf96195-fc6e-4e1f-bd55-e71aef7d21a1/2c475cc1-2dd9-487b-8a06-a6ac75c6b7b9"
> "format:qcow2" "iface:ide" "name:vda"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: add_drive "/tmp/bV8yUVWwXU" "readonly:true"
> "format:raw" "iface:ide"
> libguestfs: trace: add_drive = 0
> libguestfs: trace: set_network true
> libguestfs: trace: set_network = 0
> libguestfs: trace: launch
> libguestfs: trace: get_tmpdir
> libguestfs: trace: get_tmpdir = "/tmp"
> libguestfs: libvirt version = 10002 (0.10.2)
> libguestfs: [00000ms] connect to libvirt
> libguestfs: opening libvirt handle: URI = NULL, auth =
> virConnectAuthPtrDefault, flags = 0
> Please enter your authentication name: root
> Please enter your password:
> libguestfs: successfully opened libvirt handle: conn = 0x473b490
> libguestfs: [2616860ms] get libvirt capabilities
> libguestfs: [2617767ms] parsing capabilities XML
> libguestfs: [2617768ms] build appliance
> libguestfs: command: run: febootstrap-supermin-helper
> libguestfs: command: run: \ --verbose
> libguestfs: command: run: \ -u 36
> libguestfs: command: run: \ -g 36
> libguestfs: command: run: \ -f checksum
> libguestfs: command: run: \ /usr/lib64/guestfs/supermin.d
> libguestfs: command: run: \ x86_64
> supermin helper [00001ms] whitelist = (not specified), host_cpu =
> x86_64, kernel = (null), initrd = (null), appliance = (null)
> supermin helper [00002ms] inputs[0] = /usr/lib64/guestfs/supermin.d
> checking modpath /lib/modules/3.8.4-202.fc18.x86_64 is a directory
> picked vmlinuz-3.8.4-202.fc18.x86_64 because modpath
> /lib/modules/3.8.4-202.fc18.x86_64 exists
> supermin helper [00002ms] finished creating kernel
> supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d
> supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/base.img
> supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/daemon.img
> supermin helper [00002ms] visiting /usr/lib64/guestfs/supermin.d/hostfiles
> supermin helper [00035ms] visiting /usr/lib64/guestfs/supermin.d/init.img
> supermin helper [00036ms] visiting
> /usr/lib64/guestfs/supermin.d/udev-rules.img
> supermin helper [00036ms] adding kernel modules
> supermin helper [00068ms] finished creating appliance
> libguestfs: checksum of existing appliance:
> 8f00b44cd95de8d4bb0d7dcfe47a3b6b4288db9ca9f5ddf417c91e08924ae699
> libguestfs: trace: get_cachedir
> libguestfs: trace: get_cachedir = "/tmp"
> libguestfs: command: run: qemu-img
> libguestfs: command: run: \ create
> libguestfs: command: run: \ -f qcow2
> libguestfs: command: run: \ -b /tmp/.guestfs-36/root.4124
> libguestfs: command: run: \ -o backing_fmt=raw
> libguestfs: command: run: \ /tmp/libguestfsm4E1E4/snapshot1
> Formatting '/tmp/libguestfsm4E1E4/snapshot1', fmt=qcow2
> size=4294967296 backing_file='/tmp/.guestfs-36/root.4124'
> backing_fmt='raw' encryption=off cluster_size=65536
> lazy_refcounts=off
> libguestfs: command: run: qemu-img
> libguestfs: command: run: \ create
> libguestfs: command: run: \ -f qcow2
> libguestfs: command: run: \ -b /tmp/bV8yUVWwXU
> libguestfs: command: run: \ -o backing_fmt=raw
> libguestfs: command: run: \ /tmp/libguestfsm4E1E4/snapshot2
> Formatting '/tmp/libguestfsm4E1E4/snapshot2', fmt=qcow2 size=446464
> backing_file='/tmp/bV8yUVWwXU' backing_fmt='raw' encryption=off
> cluster_size=65536 lazy_refcounts=off
> libguestfs: [2617890ms] create libvirt XML
> libguestfs: trace: launch = -1 (error)
> virt-v2v: Failed to launch guestfs appliance. Try running again with
> LIBGUESTFS_DEBUG=1 for more information

virt-v2v doesn't work with the latest version of libguestfs in Fedora 18,
because we (Fedora) switched over to using libvirt and we didn't
implement the 'iface' option that virt-v2v requires:

  http://libguestfs.org/guestfs.3.html#guestfs_add_drive_opts

Probably the easiest workaround is to set:

  export LIBGUESTFS_ATTACH_METHOD=appliance

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
virt-top is 'top' for virtual machines.  Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top




More information about the Libguestfs mailing list