[Libguestfs] [libguestfs/virt-v2v] failed to parse ova (#6)

Richard W.M. Jones rjones at redhat.com
Fri Apr 23 09:27:48 UTC 2021


On Fri, Apr 23, 2021 at 10:15:49AM +0100, Richard W.M. Jones wrote:
> On Wed, Apr 21, 2021 at 12:14:09AM -0700, Étienne BERSAC wrote:
> > Hi,
> > 
> > I'm migrating from virt-convert to virt-v2v. I encounter the following error :
> > 
> > $ virt-v2v -v -x -i ova cornac.ova -o libvirt 
> > virt-v2v: virt-v2v 1.43.5 (x86_64)
> > libvirt version: 7.0.0
> > [   0.0] Opening the source -i ova cornac.ova
> > qemu-img info json:'{ "file": { "driver": "raw", "offset": 512, "size": 512, "file": { "filename": "/tmp/v2vqemuimgtst110010.img" } } }' >/dev/null
> > qemu-img supports "offset" and "size" in json URLs: true
> > libguestfs: trace: set_verbose true
> > libguestfs: trace: set_verbose = 0
> > libguestfs: trace: get_backend
> > libguestfs: trace: get_backend = "direct"
> > tar -tf 'cornac.ova'
> > tar -xf 'cornac.ova' -C '/var/tmp/ova.b0jm2D' 'cornac.ovf'
> > ova: testing if cornac-sda.vmdk exists in cornac.ova
> > ova: file exists
> > tar tRvf 'cornac.ova'
> > libguestfs: trace: close
> > libguestfs: closing guestfs handle 0x55c1f751e7b0 (state 0)
> > virt-v2v: error: failed to parse line returned by tar: "bloc 0 : -rw-r--r-- 
> > bersace/bersace 3702 2020-11-12 15:16 cornac.ovf"
> 
> Interesting - I suspect this is an issue with the presumably French
> locale.  The output of tar changes and we cannot parse it:
> 
> $ LANG=fr_FR tar tRvf /mnt/scratch/libguestfs-1.45.5.tar.gz  | head -2
> bloc 2 : drwxr-xr-x rjones/rjones     0 2021-04-09 11:37 libguestfs-1.45.5/
> bloc 5 : -rw-rw-r-- rjones/rjones 26530 2020-03-06 19:31 libguestfs-1.45.5/COPYING.LIB
> 
> $ LANG=en_GB tar tRvf /mnt/scratch/libguestfs-1.45.5.tar.gz  | head -2
> block 2: drwxr-xr-x rjones/rjones     0 2021-04-09 11:37 libguestfs-1.45.5/
> block 5: -rw-rw-r-- rjones/rjones 26530 2020-03-06 19:31 libguestfs-1.45.5/COPYING.LIB
> 
> This is a bug in both virt-v2v and nbdkit, but should be easy to fix.

Actually nbdkit already sets LANG=C.

I pushed this fix to virt-v2v:
https://github.com/libguestfs/virt-v2v/commit/ecb1b6baab60bad1536b0837fab06a5b8cfd9798

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list