Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1942325

The first part of the series introduces the "gcaps_virtio_1_0" guest
capability (default value, according to the current virt-v2v assumption:
"true"), and updates the libvirt and JSON outputs to take the new
capability into account.

In the libvirt output, the virtio device models are flipped to -- or are
explicitly introduced as -- virtio-transitional if the machine type is
Q35 and the new "gcaps_virtio_1_0" capability is "false".

In the JSON output, we don't change any device models, only expose the
new capability, and allow CNV / KubeVirt to act upon it. This follows
the spirit of <https://bugzilla.redhat.com/show_bug.cgi?id=1942325#c11>.

The second part of the series wraps the osinfo_os_get_all_devices()
libosinfo API, and introduces a dependent function to retrieve the guest
OS's support for each of the Q35 chipset and the virtio-1.0 protocol
(extrapolated from support for virtio1.0-net), from the osinfo database.

The final patch in the series couples the two previous parts. The Notes
section of this patch contains extensive test results.

Thanks,
Laszlo

Laszlo Ersek (9):
  lib/types: reformat "string_of_guestcaps"
  lib/types: update "string_of_guestcaps"
  lib/types: introduce the "gcaps_virtio_1_0" guest capability
  output/create_libvirt_xml: pick "virtio-transitional" models when
    needed
  output/create_json: expose "gcaps_virtio_1_0"
  convert/libosinfo: wrap osinfo_os_get_all_devices()
  convert/libosinfo_utils: introduce "string_of_osinfo_device_list"
  convert/libosinfo_utils: introduce "os_support_of_osinfo_device_list"
  convert: determine machine type and virtio-1.0 from osinfo for x86
    guests

 convert/convert_linux.ml       | 50 +++++++++------
 convert/convert_windows.ml     | 31 ++++++---
 convert/libosinfo-c.c          | 66 ++++++++++++++++++++
 convert/libosinfo.ml           | 14 +++++
 convert/libosinfo.mli          | 14 +++++
 convert/libosinfo_utils.ml     | 54 ++++++++++++++++
 convert/libosinfo_utils.mli    | 17 +++++
 lib/types.ml                   | 24 +++++--
 lib/types.mli                  |  4 ++
 output/create_json.ml          |  1 +
 output/create_libvirt_xml.ml   | 28 ++++++---
 tests/test-v2v-cdrom.expected  |  2 +-
 tests/test-v2v-floppy.expected |  2 +-
 tests/test-v2v-i-ova.xml       |  8 +--
 14 files changed, 266 insertions(+), 49 deletions(-)


base-commit: 07b12fe99fb9cf0b75fe45d3eaa07b4bbc1bbe89
-- 
2.19.1.3.g30247aa5d201

_______________________________________________
Libguestfs mailing list
[email protected]
https://listman.redhat.com/mailman/listinfo/libguestfs

Reply via email to