[Libguestfs] [PATCH 1/4] v2v: collect source network and video adapter types

Tingting Zheng tzheng at redhat.com
Fri Mar 25 10:01:13 UTC 2016


What about display type?
I found there is no graphics type part showed in guest xml for Vmware esxi guests before conversion,but after conversion by virt-v2v,the display type of some guests changed to spice while some changed to vnc.

Best regards,
Tingting Zheng(郑婷婷)


----- Original Message -----
| From: "Richard W.M. Jones" <rjones at redhat.com>
| To: "Roman Kagan" <rkagan at virtuozzo.com>
| Cc: "Denis Lunev" <den at openvz.org>, libguestfs at redhat.com
| Sent: Wednesday, February 10, 2016 2:15:23 AM
| Subject: Re: [Libguestfs] [PATCH 1/4] v2v: collect source network and video adapter types
| 
| On Tue, Feb 09, 2016 at 05:53:55PM +0300, Roman Kagan wrote:
| > +and s_nic_model =  Source_rtl8139 | Source_e1000 | Source_virtio_net
| [...]
| > +and source_video = Source_Cirrus | Source_QXL
| 
| As you know there could be a lot of other input devices.
| 
| At the moment the code basically ignores these (but it prints a
| warning "unknown [video|network] adapter model %s ignored").  I think
| we should only print warnings when that information is useful and/or
| actionable for the user, which it isn't in this case.  (I know we
| don't always obey that rule right now, but I think it's still a good
| rule ...)
| 
| So I think a better way to do it would be:
| 
|   and s_nic_model =
|   | Source_rtl8139 | Source_e1000 | Source_virtio_net
|   | Source_other_nic of string
| 
|   and source_video =
|   | Source_Cirrus | Source_QXL
|   | Source_other_video of string
| 
| and then change the match code to be something like:
| 
|   let model =
|     match xpath_string "model/@type" with
|     | None -> None
|     | Some "virtio" -> Some Source_virtio_net
|     | Some "e1000" -> Some Source_e1000
|     | Some "rtl8139" -> Some Source_rtl8139
|     | Some model -> Some (Source_other_nic model) in
| 
| (similarly for video model).  We don't throw away the NIC model if
| it's something we can't handle, but we still have special cases for
| virtio-net/e1000/rtl8139, so we can handle them in a type safe way.
| 
| BTW if you're wondering why I sometimes put the 'in' of 'let .. in' on
| the right hand side of the last line of code, and sometimes on a line
| by itself, it's because the rule is: Attach 'in' to the last line if
| what you're defining is a non-function.  Put 'in' on a line on its own
| if what you're defining is a function.  Above is an example of a
| non-function.  An example of a function definition would be:
| 
|   let f () =
|     ...
|   in
| 
| Apart from that, the patch looks fine to me.
| 
| Rich.
| 
| --
| Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
| Read my programming and virtualization blog: http://rwmj.wordpress.com
| virt-p2v converts physical machines to virtual machines.  Boot with a
| live CD or over the network (PXE) and turn machines into KVM guests.
| http://libguestfs.org/virt-v2v
| 
| _______________________________________________
| Libguestfs mailing list
| Libguestfs at redhat.com
| https://www.redhat.com/mailman/listinfo/libguestfs
| 




More information about the Libguestfs mailing list