From ad5bb4f6bdcd07f27d89be89d05c0ce96da4064c Mon Sep 17 00:00:00 2001 From: Roman Kagan Date: Tue, 9 Feb 2016 16:26:05 +0300 Subject: [PATCH] v2v: collect source network and video adapter types Those will be useful when making decisions about what configuration to set on output. The data is also included in --print-source so the tests are adjusted accordingly. Signed-off-by: Roman Kagan Signed-off-by: "Richard W.M. Jones" --- test-data/phony-guests/guests.xml.in | 8 +++++++ v2v/input_disk.ml | 2 ++ v2v/input_libvirtxml.ml | 27 ++++++++++++++++++++++++ v2v/input_ova.ml | 2 ++ v2v/test-v2v-i-ova-formats.expected | 1 + v2v/test-v2v-i-ova-gz.expected | 1 + v2v/test-v2v-i-ova-two-disks.expected | 1 + v2v/test-v2v-print-source.sh | 4 +++- v2v/types.ml | 30 +++++++++++++++++++++++++-- v2v/types.mli | 9 ++++++++ 10 files changed, 82 insertions(+), 3 deletions(-) diff --git a/test-data/phony-guests/guests.xml.in b/test-data/phony-guests/guests.xml.in index 8f7ac81b0..9c7c989dc 100644 --- a/test-data/phony-guests/guests.xml.in +++ b/test-data/phony-guests/guests.xml.in @@ -276,6 +276,14 @@ + + + + + + diff --git a/v2v/input_disk.ml b/v2v/input_disk.ml index 1cb6713df..17ad61d85 100644 --- a/v2v/input_disk.ml +++ b/v2v/input_disk.ml @@ -75,6 +75,7 @@ class input_disk input_format disk = object (* Give the guest a simple generic network interface. *) let network = { s_mac = None; + s_nic_model = None; s_vnet = "default"; s_vnet_orig = "default"; s_vnet_type = Network } in @@ -89,6 +90,7 @@ class input_disk input_format disk = object s_display = Some { s_display_type = Window; s_keymap = None; s_password = None; s_listen = LNone; s_port = None }; + s_video = None; s_sound = None; s_disks = [disk]; s_removables = []; diff --git a/v2v/input_libvirtxml.ml b/v2v/input_libvirtxml.ml index 35370116b..9d8963d34 100644 --- a/v2v/input_libvirtxml.ml +++ b/v2v/input_libvirtxml.ml @@ -140,6 +140,23 @@ let parse_libvirt_xml ?conn xml = None ) in + (* Video adapter. *) + let video = + let obj = Xml.xpath_eval_expression xpathctx "/domain/devices/video" in + let nr_nodes = Xml.xpathobj_nr_nodes obj in + if nr_nodes < 1 then None + else ( + (* Ignore everything except the first