Bug 1926102 - "virt-v2v: warning: there is no QXL driver for this version of Windows" still shows, even though we copied qxldod driver to the guest
Summary: "virt-v2v: warning: there is no QXL driver for this version of Windows" still...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Advanced Virtualization
Classification: Red Hat
Component: virt-v2v
Version: 8.4
Hardware: x86_64
OS: Unspecified
unspecified
low
Target Milestone: rc
: 8.4
Assignee: Richard W.M. Jones
QA Contact: tingting zheng
URL:
Whiteboard:
Depends On:
Blocks: 1969483
TreeView+ depends on / blocked
 
Reported: 2021-02-08 08:39 UTC by mxie@redhat.com
Modified: 2022-01-18 14:53 UTC (History)
7 users (show)

Fixed In Version: virt-v2v-1.42.0-11.el8
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-11-16 07:51:42 UTC
Type: Bug
Target Upstream Version:
Embargoed:
pm-rhel: mirror+


Attachments (Terms of Use)
v2v-convert-win2019-qxl.log (2.06 MB, text/plain)
2021-02-08 08:39 UTC, mxie@redhat.com
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2021:4684 0 None None None 2021-11-16 07:52:20 UTC

Description mxie@redhat.com 2021-02-08 08:39:35 UTC
Created attachment 1755655 [details]
v2v-convert-win2019-qxl.log

Description of problem:
Should remove "virt-v2v: warning: there is no QXL driver for this version of Windows" during conversion

Version-Release number of selected component (if applicable):
virt-v2v-1.42.0-9.module+el8.4.0+9561+069bb9c1.x86_64
libguestfs-1.44.0-1.module+el8.4.0+9398+f376ac33.x86_64
libvirt-libs-7.0.0-3.module+el8.4.0+9709+a99efd61.x86_64
qemu-kvm-5.2.0-5.module+el8.4.0+9775+0937c167.x86_64
package ndbkit is not installed
virtio-win-1.9.16-0.el8.noarch

How reproducible:
100%

Steps to Reproduce:
1.Check qxl drivers in virtio-win folder
# ls /usr/share/virtio-win/drivers/by-driver/qxldod/
2k16  2k19  w10
# ls /usr/share/virtio-win/drivers/by-driver/qxl
2k8R2  w7

2.Convert a win2016 guest from VMware to rhv4.4 by virt-v2v
# virt-v2v -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 -it vddk -io vddk-libdir=/home/vddk6.5 -io  vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78  -o rhv-upload -of qcow2 -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -ip /home/passwd -op /home/rhvpasswd  -os nfs_data -n ovirtmgmt  esx7.0-win2016-x86_64-vmware-tool  -oo rhv-direct=true
[   0.7] Opening the source -i libvirt -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 esx7.0-win2016-x86_64-vmware-tool -it vddk  -io vddk-libdir=/home/vddk6.5 -io vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78
[   2.5] Creating an overlay to protect the source from being modified
[   5.6] Opening the overlay
[  28.3] Inspecting the overlay
[  35.8] Checking for sufficient free disk space in the guest
[  35.8] Estimating space required on target for each disk
[  35.8] Converting Windows Server 2016 Standard to run on KVM
virt-v2v: warning: /usr/share/virt-tools/pnp_wait.exe is missing.  
Firstboot scripts may conflict with PnP.
virt-v2v: warning: there is no QXL driver for this version of Windows (10.0 
x86_64).  virt-v2v looks for this driver in 
/usr/share/virtio-win/virtio-win.iso

The guest will be configured to use a basic VGA display driver.
virt-v2v: This guest has virtio drivers installed.
[  53.7] Mapping filesystem data to avoid copying unused and blank areas
[  54.4] Closing the overlay
[  54.6] Assigning disks to buses
[  54.6] Checking if the guest needs BIOS or UEFI to boot
[  54.6] Initializing the target -o rhv-upload -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -op /home/rhvpasswd -os nfs_data
[  56.1] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/tmp/v2vnbdkit.LFqplq/nbdkit4.sock", "file.export": "/" } (qcow2)
    (100.00/100%)
[ 817.2] Creating output metadata
[ 819.3] Finishing off

3.Check win2016 guest after v2v conversion, found qxl driver can installed for display device successfully


Actual result:
There is "virt-v2v: warning: there is no QXL driver for this version of Windows" during conversion

Expected results:
Should remove "virt-v2v: warning: there is no QXL driver for this version of Windows" during conversion


Additional info:

Comment 1 Richard W.M. Jones 2021-02-08 11:07:50 UTC
We're looking for drivers in /usr/share/virtio-win/virtio-win.iso
not /usr/share/virtio-win/...

However yes it's a bit odd that there is a QXL driver installed after
conversion even though virt-v2v couldn't install one.  (I checked the
log and there really isn't a QXL driver in the ISO, and virt-v2v
really doesn't install one).  I can only assume it is being installed
after conversion by something, perhaps one of the oVirt agents.

In -o rhv* modes we always give the guest a QXL device:
https://github.com/libguestfs/virt-v2v/blob/7f49b4adb1cf25ef2a2df59c53c748b38cb46832/v2v/create_ovf.ml#L680

I'm not sure there's actually a bug here as virt-v2v is printing the
correct warning.

See also bug 1902635.

Comment 2 Xiaodai Wang 2021-02-08 11:20:08 UTC
Based on https://bugzilla.redhat.com/show_bug.cgi?id=1902635#c16, the correct drivers
should be in qxldod. And the name in qxldod/2k19/amd64/ is 'qxldod.inf'.

Should v2v do some change? I saw it only checks 'qxl.inf' for the warning.
https://github.com/libguestfs/virt-v2v/blob/master/v2v/windows_virtio.ml#L158

Comment 3 Richard W.M. Jones 2021-02-08 11:55:36 UTC
Yes that explains it.  We copy the qxldod driver in.  But the warning
shows that we didn't copy "qxl.inf".  So yes this is a bug in the warning,
and explains why the driver got installed anyway.

Comment 4 Richard W.M. Jones 2021-04-27 16:30:54 UTC
Fixed upstream in commit 11d1f3cd6878ae7713e589194f97526f744dc090.

Comment 7 liuzi 2021-05-18 03:56:59 UTC
Verify the bug with builds:
virt-v2v-1.42.0-12.module+el8.5.0+10976+d40a93e9.x86_64

1.Check qxl drivers in virtio-win folder
# ls /usr/share/virtio-win/drivers/by-driver/qxldod/
2k16  2k19  w10
# ls /usr/share/virtio-win/drivers/by-driver/qxl
2k8R2  w7

Scenario 1:
1.Convert a guest which qxl driver is contained in virtio-win folder 
# virt-v2v -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib/ -io  vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78  -o rhv-upload -of qcow2 -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -ip /home/passwd -op /home/rhvpasswd  -os nfs_data -n ovirtmgmt  esx7.0-win2016-x86_64  -oo rhv-direct=true
[   0.5] Opening the source -i libvirt -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 esx7.0-win2016-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib/ -io vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78

[   2.0] Creating an overlay to protect the source from being modified
[   2.9] Opening the overlay
[   7.7] Inspecting the overlay
[  12.2] Checking for sufficient free disk space in the guest
[  12.2] Estimating space required on target for each disk
[  12.2] Converting Windows Server 2016 Standard to run on KVM

** (process:318135): WARNING **: 11:37:24.353: Entity http://pcisig.com/pci/1B36/0100 referenced but not defined
virt-v2v: This guest has virtio drivers installed.
[  23.2] Mapping filesystem data to avoid copying unused and blank areas
[  23.8] Closing the overlay
[  24.1] Assigning disks to buses
[  24.1] Checking if the guest needs BIOS or UEFI to boot
[  24.1] Initializing the target -o rhv-upload -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -op /home/rhvpasswd -os nfs_data
[  25.4] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/tmp/v2vnbdkit.2GMN95/nbdkit4.sock", "file.export": "/" } (qcow2)
    (100.00/100%)
[ 669.8] Creating output metadata
[ 671.6] Finishing off

Result:No error info like: ‘virt-v2v: warning: there is no QXL driver for this version of Windows ‘ shows.

Scenario 2:
2.Convert a guest which qxl driver not in virtio-win folder
# virt-v2v -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 -it vddk -io vddk-libdir=/home/vmware-vix-disklib-distrib/ -io  vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78  -o rhv-upload -of qcow2 -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -ip /home/passwd -op /home/rhvpasswd  -os nfs_data -n ovirtmgmt  esx7.0-win8-x86_64  -oo rhv-direct=true
[   0.4] Opening the source -i libvirt -ic vpx://root.198.169/data/10.73.199.217/?no_verify=1 esx7.0-win8-x86_64 -it vddk  -io vddk-libdir=/home/vmware-vix-disklib-distrib/ -io vddk-thumbprint=B5:52:1F:B4:21:09:45:24:51:32:56:F6:63:6A:93:5D:54:08:2D:78
[   2.0] Creating an overlay to protect the source from being modified
[   2.8] Opening the overlay
[   8.1] Inspecting the overlay
[  13.1] Checking for sufficient free disk space in the guest
[  13.1] Estimating space required on target for each disk
[  13.1] Converting Windows 8 Enterprise to run on KVM

** (process:317654): WARNING **: 11:27:07.635: Entity http://pcisig.com/pci/1B36/0100 referenced but not defined
virt-v2v: warning: there is no QXL driver for this version of Windows (6.2 
x86_64).  virt-v2v looks for this driver in 
/usr/share/virtio-win/virtio-win.iso

The guest will be configured to use a basic VGA display driver.
virt-v2v: This guest has virtio drivers installed.
[  19.7] Mapping filesystem data to avoid copying unused and blank areas
[  20.1] Closing the overlay
[  20.3] Assigning disks to buses
[  20.3] Checking if the guest needs BIOS or UEFI to boot
[  20.3] Initializing the target -o rhv-upload -oc https://dell-per740-22.lab.eng.pek2.redhat.com/ovirt-engine/api -op /home/rhvpasswd -os nfs_data
[  21.6] Copying disk 1/1 to qemu URI json:{ "file.driver": "nbd", "file.path": "/tmp/v2vnbdkit.qMGWSF/nbdkit4.sock", "file.export": "/" } (qcow2)
    (100.00/100%)
[ 611.9] Creating output metadata
[ 613.8] Finishing off

Result:virt-v2v gives an expected error info.

Additional info:
Also test win2008r2,win7 all checkpoints passed.

As above testing,now change the bug from ON_QA to VERIFIED.

Comment 10 errata-xmlrpc 2021-11-16 07:51:42 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (virt:av bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2021:4684

Comment 11 Laszlo Ersek 2022-01-18 14:53:18 UTC
*** Bug 1943203 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.