[Libguestfs] [virt-v2v wave 2 PATCH v2 06/16] convert/windows_virtio: flip target display to Standard_VGA

Laszlo Ersek lersek at redhat.com
Thu Dec 2 09:46:27 UTC 2021


Policy change: pick Standard_VGA over either QXL or Cirrus for the video
type in the output (Windows) domain, always.

If the subject Windows version is entirely unsupported by
"virtio-win.iso", continue warning the user, as IDE and RTL8139 are still
considered inferior to virtio-blk and virtio-net, respectively.

No warning is needed when only the QXL driver is missing for the subject
Windows version, as Standard_VGA is not worse than QXL.

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1961107
Signed-off-by: Laszlo Ersek <lersek at redhat.com>
---

Notes:
    v1:
    
    - Reimplement the RFC patch "convert/windows_virtio: flip default target
      display to Standard_VGA" on top of commit b28cd1dcfeb4 ("Remove
      requested_guestcaps / rcaps", 2021-11-08) [Rich]
    
    - The test cases listed previously (below, under "RFC") no longer break.
    
    RFC:
    
    - This patch breaks the following test cases:
      - test-v2v-o-glance.sh
      - test-v2v-o-json.sh
      - test-v2v-o-openstack.sh
    
      That's because we still have the initial "assert false" expressions
      for Standard_VGA in the OpenStack and JSON (... and OVF) producers,
      from patch 'lib/types: introduce "Standard_VGA" constructor for
      "guestcaps_video_type'.

 convert/windows_virtio.ml | 18 ++----------------
 tests/test-v2v-i-ova.xml  |  2 +-
 2 files changed, 3 insertions(+), 17 deletions(-)

diff --git a/convert/windows_virtio.ml b/convert/windows_virtio.ml
index 08db4ad6995c..77aeac2d4a9f 100644
--- a/convert/windows_virtio.ml
+++ b/convert/windows_virtio.ml
@@ -53,7 +53,7 @@ let rec install_drivers ((g, _) as reg) inspect =
       warning (f_"there are no virtio drivers available for this version of Windows (%d.%d %s %s).  virt-v2v looks for drivers in %s\n\nThe guest will be configured to use slower emulated devices.")
               inspect.i_major_version inspect.i_minor_version inspect.i_arch
               inspect.i_product_variant virtio_win;
-      (IDE, RTL8139, Cirrus, false, false, false, false)
+      (IDE, RTL8139, Standard_VGA, false, false, false, false)
   )
   else (
     (* Can we install the block driver? *)
@@ -103,27 +103,13 @@ let rec install_drivers ((g, _) as reg) inspect =
       else
         Virtio_net in
 
-    (* Can we install the QXL driver? *)
-    let video : guestcaps_video_type =
-      let has_qxl =
-        g#exists (driverdir // "qxl.inf") ||
-        g#exists (driverdir // "qxldod.inf") in
-      if not has_qxl then (
-        warning (f_"there is no QXL driver for this version of Windows (%d.%d %s).  virt-v2v looks for this driver in %s\n\nThe guest will be configured to use a basic VGA display driver.")
-                inspect.i_major_version inspect.i_minor_version
-                inspect.i_arch virtio_win;
-        Cirrus
-      )
-      else
-        QXL in
-
     (* Did we install the miscellaneous drivers? *)
     let virtio_rng_supported = g#exists (driverdir // "viorng.inf") in
     let virtio_ballon_supported = g#exists (driverdir // "balloon.inf") in
     let isa_pvpanic_supported = g#exists (driverdir // "pvpanic.inf") in
     let virtio_socket_supported = g#exists (driverdir // "viosock.inf") in
 
-    (block, net, video,
+    (block, net, Standard_VGA,
      virtio_rng_supported, virtio_ballon_supported, isa_pvpanic_supported, virtio_socket_supported)
   )
 
diff --git a/tests/test-v2v-i-ova.xml b/tests/test-v2v-i-ova.xml
index 30f52f557d9f..d7383905fdc0 100644
--- a/tests/test-v2v-i-ova.xml
+++ b/tests/test-v2v-i-ova.xml
@@ -39,7 +39,7 @@
       <model type='virtio'/>
     </interface>
     <video>
-      <model type='qxl' ram='65536' heads='1'/>
+      <model type='vga' vram='16384' heads='1'/>
     </video>
     <graphics type='vnc' autoport='yes' port='-1'/>
     <rng model='virtio'>
-- 
2.19.1.3.g30247aa5d201




More information about the Libguestfs mailing list