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(a)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