[Libguestfs] [PATCH] v2v: ova: convert E1000 network interfaces as such

Richard W.M. Jones rjones at redhat.com
Fri Mar 23 14:30:38 UTC 2018


On Fri, Mar 23, 2018 at 12:35:36PM +0100, Pino Toscano wrote:
> So far v2v did not read the model of network interfaces, resulting in
> "virtio" as the model for such interfaces.
> 
> Start reading the model, if available, mapping only E1000 for now.

Looks sensible, ACK.

> There are also other models, e.g. PCNet32 or VmxNet3, but they are
> ignored for now: reading them as Source_other_nic would result in v2v
> rejecting OVAs previously converted.

-i vmx and -i libvirt(xml) does parse them as Source_other_nic.  Apart
from rcaps_from_source which is only used by --in-place conversions
the NIC model is basically ignored everywhere.  So I think it would be
safe to modify this patch to map them to Source_other_nic unless I've
missed something else.

Rich.

>  v2v/parse_ovf_from_ova.ml               | 7 ++++++-
>  v2v/test-v2v-i-ova-formats.expected     | 2 +-
>  v2v/test-v2v-i-ova-gz.expected          | 2 +-
>  v2v/test-v2v-i-ova-subfolders.expected  | 2 +-
>  v2v/test-v2v-i-ova-subfolders.expected2 | 2 +-
>  v2v/test-v2v-i-ova-tar.expected         | 2 +-
>  v2v/test-v2v-i-ova-tar.expected2        | 2 +-
>  v2v/test-v2v-i-ova-two-disks.expected   | 2 +-
>  v2v/test-v2v-i-ova-two-disks.expected2  | 2 +-
>  9 files changed, 14 insertions(+), 9 deletions(-)
> 
> diff --git a/v2v/parse_ovf_from_ova.ml b/v2v/parse_ovf_from_ova.ml
> index 24cd29d42..631d7d7f6 100644
> --- a/v2v/parse_ovf_from_ova.ml
> +++ b/v2v/parse_ovf_from_ova.ml
> @@ -235,9 +235,14 @@ let parse_ovf_from_ova ovf_filename =
>          | Some connection -> connection, Bridge
>          | None -> sprintf "eth%d" i, Network in
>        let mac = xpath_string "rasd:Address/text()" in
> +      let nic_model =
> +        match xpath_string "rasd:ResourceSubType/text()" with
> +        | Some "E1000" -> Some Source_e1000
> +        | Some _ -> None (* Warn? *)
> +        | None -> None in
>        let nic = {
>          s_mac = mac;
> -        s_nic_model = None;
> +        s_nic_model = nic_model;
>          s_vnet = vnet;
>          s_vnet_orig = vnet;
>          s_vnet_type = vnet_type;
> diff --git a/v2v/test-v2v-i-ova-formats.expected b/v2v/test-v2v-i-ova-formats.expected
> index 5e2fabfa9..f7b79d7bc 100644
> --- a/v2v/test-v2v-i-ova-formats.expected
> +++ b/v2v/test-v2v-i-ova-formats.expected
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-gz.expected b/v2v/test-v2v-i-ova-gz.expected
> index 31ad9e1f3..9cf048f30 100644
> --- a/v2v/test-v2v-i-ova-gz.expected
> +++ b/v2v/test-v2v-i-ova-gz.expected
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-subfolders.expected b/v2v/test-v2v-i-ova-subfolders.expected
> index fc60b06ca..44ec3b2b8 100644
> --- a/v2v/test-v2v-i-ova-subfolders.expected
> +++ b/v2v/test-v2v-i-ova-subfolders.expected
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-subfolders.expected2 b/v2v/test-v2v-i-ova-subfolders.expected2
> index a280c4637..f42fc924f 100644
> --- a/v2v/test-v2v-i-ova-subfolders.expected2
> +++ b/v2v/test-v2v-i-ova-subfolders.expected2
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-tar.expected b/v2v/test-v2v-i-ova-tar.expected
> index 5e2fabfa9..f7b79d7bc 100644
> --- a/v2v/test-v2v-i-ova-tar.expected
> +++ b/v2v/test-v2v-i-ova-tar.expected
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-tar.expected2 b/v2v/test-v2v-i-ova-tar.expected2
> index edc07f363..83928c23e 100644
> --- a/v2v/test-v2v-i-ova-tar.expected2
> +++ b/v2v/test-v2v-i-ova-tar.expected2
> @@ -17,5 +17,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-two-disks.expected b/v2v/test-v2v-i-ova-two-disks.expected
> index 232ec5446..61eab9cf6 100644
> --- a/v2v/test-v2v-i-ova-two-disks.expected
> +++ b/v2v/test-v2v-i-ova-two-disks.expected
> @@ -18,5 +18,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> diff --git a/v2v/test-v2v-i-ova-two-disks.expected2 b/v2v/test-v2v-i-ova-two-disks.expected2
> index 03377cb18..5a218f5d5 100644
> --- a/v2v/test-v2v-i-ova-two-disks.expected2
> +++ b/v2v/test-v2v-i-ova-two-disks.expected2
> @@ -18,5 +18,5 @@ disks:
>  removable media:
>  	CD-ROM [ide] in slot 0
>  NICs:
> -	Bridge "PG-VLAN60"
> +	Bridge "PG-VLAN60" [e1000]
>  
> -- 
> 2.14.3
> 
> _______________________________________________
> Libguestfs mailing list
> Libguestfs at redhat.com
> https://www.redhat.com/mailman/listinfo/libguestfs

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org




More information about the Libguestfs mailing list