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(a)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