Shahar Havivi
2016-Sep-08 06:53 UTC
[Libguestfs] [PATCH] virt-v2v: Support for ova exported from AWS [v2]
1. AWS the name tag is not mandatory - using default as a name 2. AWD doesn't prefix 'ovf:' as prefix to disk path There is an open bug for oVirt: https://bugzilla.redhat.com/show_bug.cgi?id=1371843 Signed-off-by: Shahar Havivi <shaharh@redhat.com> --- v2v/input_ova.ml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/v2v/input_ova.ml b/v2v/input_ova.ml index d86c637..974caeb 100644 --- a/v2v/input_ova.ml +++ b/v2v/input_ova.ml @@ -185,7 +185,8 @@ object let name match xpath_string "/ovf:Envelope/ovf:VirtualSystem/ovf:Name/text()" with | None | Some "" -> - error (f_"could not parse ovf:Name from OVF document") + warning (f_"could not parse ovf:Name from OVF document"); + "default" | Some name -> name in (* Search for memory. *) @@ -245,10 +246,10 @@ object Xml.xpathctx_set_current_context xpathctx n; let file_id = xpath_string_default "rasd:HostResource/text()" "" in - let rex = Str.regexp "^ovf:/disk/\\(.*\\)" in + let rex = Str.regexp "^\\(ovf:\\)?/disk/\\(.*\\)" in if Str.string_match rex file_id 0 then ( (* Chase the references through to the actual file name. *) - let file_id = Str.matched_group 1 file_id in + let file_id = Str.matched_group 2 file_id in let expr = sprintf "/ovf:Envelope/ovf:DiskSection/ovf:Disk[@ovf:diskId='%s']/@ovf:fileRef" file_id in let file_ref match xpath_string expr with -- 2.4.3
Richard W.M. Jones
2016-Sep-08 09:34 UTC
Re: [Libguestfs] [PATCH] virt-v2v: Support for ova exported from AWS [v2]
On Thu, Sep 08, 2016 at 09:53:37AM +0300, Shahar Havivi wrote:> 1. AWS the name tag is not mandatory - using default as a name > 2. AWD doesn't prefix 'ovf:' as prefix to disk path > > There is an open bug for oVirt: > https://bugzilla.redhat.com/show_bug.cgi?id=1371843 > > Signed-off-by: Shahar Havivi <shaharh@redhat.com> > --- > v2v/input_ova.ml | 7 ++++--- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/v2v/input_ova.ml b/v2v/input_ova.ml > index d86c637..974caeb 100644 > --- a/v2v/input_ova.ml > +++ b/v2v/input_ova.ml > @@ -185,7 +185,8 @@ object > let name > match xpath_string "/ovf:Envelope/ovf:VirtualSystem/ovf:Name/text()" with > | None | Some "" -> > - error (f_"could not parse ovf:Name from OVF document") > + warning (f_"could not parse ovf:Name from OVF document"); > + "default" > | Some name -> name in > > (* Search for memory. *) > @@ -245,10 +246,10 @@ object > > Xml.xpathctx_set_current_context xpathctx n; > let file_id = xpath_string_default "rasd:HostResource/text()" "" in > - let rex = Str.regexp "^ovf:/disk/\\(.*\\)" in > + let rex = Str.regexp "^\\(ovf:\\)?/disk/\\(.*\\)" in > if Str.string_match rex file_id 0 then ( > (* Chase the references through to the actual file name. *) > - let file_id = Str.matched_group 1 file_id in > + let file_id = Str.matched_group 2 file_id in > let expr = sprintf "/ovf:Envelope/ovf:DiskSection/ovf:Disk[@ovf:diskId='%s']/@ovf:fileRef" file_id in > let file_ref > match xpath_string expr withI've pushed this, but on reflection I don't think this is the complete answer. I think if the <Name> field is missing we should force users to use the '-on' flag. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html
Seemingly Similar Threads
- [PATCH] virt-v2v: Support for ova exported from AWS
- Re: [PATCH v3 2/6] v2v: ova: don't detect compressed disks, read the OVF instead
- Re: [PATCH] virt-v2v: Support for ova exported from AWS
- Re: [PATCH v2 2/5] v2v: ova: don't detect compressed disks, read the OVF instead
- Re: [PATCH v3 2/6] v2v: ova: don't detect compressed disks, read the OVF instead