[Libguestfs] [PATCH v3 0/5] v2v: more control over device types

Roman Kagan rkagan at virtuozzo.com
Fri Mar 11 13:54:44 UTC 2016


The decision on which device type to use for disks, network and video
cards on output used to be taken deep inside the converting functions.

This is not always desirable.  In particular, there are scenarios when
this decision is made before the convertion takes place.  E.g. in
in-place mode, the decisions are taken and the output VM configuration
is created outside of v2v tool.

This patchset adds support for such scenarios.  Specifically,

- the input configuration parsers are taught to extract network and
  video device models in addition to storage controllers

- the converting functions are taught to take the requested device types
  into consideration

- the main routine in in-place mode takes the relevant data from the
  input VM and passes it to the converter

The copying mode may eventually also profit from this patchset by taking
command-line options for controlling device types, but this isn't
included here.

---
v3:
 - assume that source config in --in-place mode can't have more than one
   storage, network, and video types
 - add patch to better explain --in-place

v2:
 - add catch-all string-valued variants for source network and video adapter
   models
 - use match instead of mixing match and if


Roman Kagan (5):
  v2v: collect source network and video adapter types
  v2v: introduce requested guestcaps type
  v2v: take requested caps into account when converting
  v2v: in-place: request caps based on source config
  v2v: better explain --in-place

 test-data/phony-guests/guests.xml.in  |  8 ++++
 v2v/convert_linux.ml                  | 49 ++++++++++++++-----
 v2v/convert_windows.ml                |  4 +-
 v2v/input_disk.ml                     |  2 +
 v2v/input_libvirtxml.ml               | 27 +++++++++++
 v2v/input_ova.ml                      |  2 +
 v2v/modules_list.ml                   |  3 +-
 v2v/modules_list.mli                  |  3 +-
 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                          | 77 +++++++++++++++++++++++++-----
 v2v/types.mli                         | 21 ++++++++-
 v2v/v2v.ml                            | 66 ++++++++++++++++++++++++--
 v2v/virt-v2v.pod                      |  3 +-
 v2v/windows_virtio.ml                 | 89 ++++++++++++++++++++++++++---------
 v2v/windows_virtio.mli                |  6 +++
 18 files changed, 310 insertions(+), 57 deletions(-)

-- 
2.5.0




More information about the Libguestfs mailing list