[Libguestfs] [PATCH] virt-v2v: Support for ova exported from AWS [v2]

Richard W.M. Jones rjones at redhat.com
Thu Sep 8 09:34:27 UTC 2016


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 at 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

I'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




More information about the Libguestfs mailing list