Bug 2183999

Summary: RFC [virt-v2v] Support OVF version 2
Product: [Community] Virtualization Tools Reporter: Richard W.M. Jones <rjones>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: NEW --- QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: mhicks, ptoscano
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
eBlockerVM-2.9.1-amd64.ovf none

Description Richard W.M. Jones 2023-04-03 11:42:45 UTC
Created attachment 1955438 [details]
eBlockerVM-2.9.1-amd64.ovf

Description of problem:

https://www.dmtf.org/sites/default/files/standards/documents/DSP0243_2.1.1.pdf

There is a new version 2 of OVF which virt-v2v doesn't currently support.

I haven't seen it in the wild except in a single OVA image:
https://eblocker.org/en/eblockeros-download/eBlockerVM.ova

The differences are fairly minor but somewhat annoying to support:

(1) The xmlns changed to:

  xmlns="http://schemas.dmtf.org/ovf/envelope/2"

(2) ovf:version="2.0" in the <Envelope>

(3) Uses <StorageItem> instead of <Item>

An example OVF file is attached (from the eBlocker image).

Version-Release number of selected component (if applicable):

virt-v2v 2.2

Comment 1 Richard W.M. Jones 2023-04-03 11:45:59 UTC
I had a go at fixing this but it's complicated.  You basically need separate
code paths to handle the alternate xmlns and <StorageItem> and xmlns:sasd
stuff, but almost all the code gets duplicated.  There may be a better way
to do it but I'm not sure how at the moment.