Hello,

This multi-disk ovf generates “no href in ovf:File (id=)”

Other single-disk ovfs on the same system work. I don’t have another multi-disk ova to try.

I’ve compared the syntax with the test file on github and it appears to be essentially the same:

virt-v2v/tests/test-v2v-i-ova-two-disks.ovf

Any suggestions?

Side note: I tried building libguestfs from source but failed so haven’t tried with latest (separate issue, but I think I resolved dependencies, then hit a podwrapper.pl issue).

Thank you,

Andrew

 

[ with text changed for privacy ]

 

Head of the .ovf file:

 

<?xml version="1.0" encoding="UTF-8"?>

<Envelope vmw:buildId="build-3620759" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vmw="http://www.vmware.com/schema/ovf" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <References>

    <File ovf:href="aa-bb-cccc-1.2.3-45-release-200401.ova_v1.2_signed-disk1.vmdk" ovf:id="file1" ovf:size="1530541056"/>

    <File ovf:href="aa-bb-cccc-1.2.3-45-release-200401.ova_v1.2_signed-disk2.vmdk" ovf:id="file2" ovf:size="6476920320"/>

    <File ovf:href="aa-bb-cccc-1.2.3-45-release-200401.ova_v1.2_signed-disk3.vmdk" ovf:id="file3" ovf:size="1696059392"/>

  </References>

  <DeploymentOptionSection>

    <Info>IP Network Stack in use by the product</Info>

    <Configuration ovf:default="true" ovf:id="aa_ipv4">

      <Label>IPv4 Network</Label>

      <Description>Use IPv4 network stack for management and data traffic.</Description>

    </Configuration>

    <Configuration ovf:id="aa_ipv6">

      <Label>IPv6 Network</Label>

      <Description>Use IPv6 network stack for management and data traffic.</Description>

    </Configuration>

    <Configuration ovf:id="1int">

      <Label>IPv4 Network on a Single Interface (demo mode)</Label>

      <Description>Use a single interface for IPv4 management and data traffic.</Description>

    </Configuration>

  </DeploymentOptionSection>

  <DiskSection>

    <Info>Virtual disk information</Info>

    <Disk ovf:capacity="50" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="3584360448"/>

    <Disk ovf:capacity="156" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk2" ovf:fileRef="file2" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="16995385344"/>

    <Disk ovf:capacity="76" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk6" ovf:fileRef="file3" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="1704001536"/>

    <Disk ovf:capacity="${logfs}" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk3" ovf:fileRef="" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>

    <Disk ovf:capacity="${corefs}" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk4" ovf:fileRef="" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>

    <Disk ovf:capacity="${ddatafs}" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk5" ovf:fileRef="" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized" ovf:populatedSize="0"/>

  </DiskSection>

 

And the virt-v2v error:

 

[root@localhost ~]# virt-v2v -v -x -i ova aa-bb-cccc-1.2.3-45-release-200401.ova -of qcow2

virt-v2v: libguestfs 1.38.4rhel=8,release=14.module_el8.1.0+248+298dec18,libvirt (x86_64)

libvirt version: 4.5.0

[   0.0] Opening the source -i ova aa-bb-cccc-1.2.3-45-release-200401.ova

libguestfs: trace: set_verbose true

libguestfs: trace: set_verbose = 0

libguestfs: trace: get_cachedir

libguestfs: trace: get_cachedir = "/var/tmp"

qemu-img info json:'{ "file": { "driver": "raw", "offset": 512, "size": 512, "file": { "filename": "/tmp/v2vqemuimgtst8f2fb6.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 = "libvirt"

libvirt supports  "raw" driver in json URL: true

tar -tf 'aa-bb-cccc-1.2.3-45-release-200401.ova'

tar -xf 'aa-bb-cccc-1.2.3-45-release-200401.ova' -C '/var/tmp/ova.1MI0Ml' 'aa-bb-cccc-1.2.3-45-release-200401.ova_v6.5_signed.ovf' 'aa-bb-cccc-1.2.3-45-release-200401.ova_v1.2_signed.mf'

 

virt-v2v: error: no href in ovf:File (id=)

 

rm -rf '/var/tmp/ova.1MI0Ml'

libguestfs: trace: close

libguestfs: closing guestfs handle 0x558469792ff0 (state 0)

libguestfs: trace: close

libguestfs: closing guestfs handle 0x558469781930 (state 0)