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.
---
v4:
- docs: add a section for in-place and describe things at length
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 | 31 +++++++++++-
v2v/windows_virtio.ml | 89 ++++++++++++++++++++++++++---------
v2v/windows_virtio.mli | 6 +++
18 files changed, 337 insertions(+), 58 deletions(-)
--
2.5.0