Bug 1233093

Summary: QXL driver is not installed for some version of windows guest after convert to RHEV
Product: Red Hat Enterprise Linux 7 Reporter: tingting zheng <tzheng>
Component: libguestfsAssignee: Richard W.M. Jones <rjones>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact: Jiri Herrmann <jherrman>
Priority: medium    
Version: 7.2CC: juzhou, kuwei, mzhan, ptoscano, sherold, xiaodwan
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Unspecified   
Whiteboard: V2V
Fixed In Version: libguestfs-1.36.1-1.el7 Doc Type: Release Note
Doc Text:
Improved *virt-v2v* installation of QXL drivers This update reworks the *virt-v2v* implementation of QXL driver installation in Windows guest virtual machines, which ensures that QXL drivers are installed correctly on these guests.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-08-01 22:08:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1359086    
Bug Blocks: 1288337    
Attachments:
Description Flags
Debug info
none
ovf file in export domain none

Description tingting zheng 2015-06-18 08:34:48 UTC
Created attachment 1040364 [details]
Debug info

Description:
QXL driver is not installed for some version of windows guest after convert to RHEV

Version:
libguestfs-1.28.1-1.38.el7.x86_64
virt-v2v-1.28.1-1.38.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Prepare some windows guests on esx server.

2.Use virt-v2v to convert the esx windows guest to rhev.
# virt-v2v -ic vpx://root.72.112/data/10.66.72.49/?no_verify=1 -o rhev -os 10.66.90.115:/vol/v2v_auto/nfs_export -b rhevm  --password-file /tmp/passwd2 esx6.0-win2003-i386 -v -x 

3.After conversion,import the guest to data domain.

4.Try to boot the windows guest,check "Display adapters",it shows as "Standard VGA Graphics Adapter".

5.Check the ovf file of the guest in export domain,it shows the "Graphics" as "qxl".
      <Item>
        <rasd:Caption>Graphical Controller</rasd:Caption>
        <rasd:InstanceId>5</rasd:InstanceId>
        <rasd:ResourceType>20</rasd:ResourceType>
        <rasd:VirtualQuantity>1</rasd:VirtualQuantity>
        <rasd:Device>qxl</rasd:Device>
      </Item>

Actual results:
As description.

Expected results:
QXL driver is installed,check "Display adapters",it shows as "Red Hat QXL GPU".

Additional info:
For windows 2003,win 2008 guest,it all shows "Standard VGA Graphics Adapter" under "Display adapters".
For windows 2008r2,it shows "Red Hat QXL GPU" under "Display adapters".

Comment 1 tingting zheng 2015-06-18 08:36:47 UTC
Created attachment 1040366 [details]
ovf file in export domain

Comment 3 Richard W.M. Jones 2015-06-25 12:07:49 UTC
It is possible that libguestfs-1.28.1-1.40.el7
will fix this, as a side-effect of fixing bug 1234351.

Comment 4 tingting zheng 2015-07-02 08:08:21 UTC
For esx windows guest,after convert to libvirt,the xml shows it's graphics driver is cirrus:
  <graphics type='vnc' port='-1' autoport='yes'/>
 <video>
    <model type='cirrus' vram='16384' heads='1'/>
    <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>

But check in guests,the graphics driver is "Standard VGA Graphics Adapter" under "Display adapters".

Comment 5 Richard W.M. Jones 2015-07-13 09:21:23 UTC
There are several things going on here:

 - Virt-v2v < libguestfs-1.28.1-1.40.el7 only copied the virtio-blk
   and virtio-net drivers into the guest.  (In >= -1.40.el7, it now
   copies all the drivers into the guest, including QXL ones if available).

 - There are no QXL drivers for Windows 2003.

 - When converting Windows guests, virt-v2v used to return
   gcaps_video == Cirrus, whether or not it had installed a QXL driver.
   (Fixed in: 08bfad986a4288defd4b994f8f2c74da3193e3a2)

 - The -o rhev/-o vdsm modes ignored gcaps_video anyway, and just
   supplies a QXL driver to the guest.  (See bug 1213701 and bug 1211231)

 - -o libvirt uses gcaps_video correctly, explaining comment 4.

 - But in any case, QXL can deliver basic SVGA video, so none of this
   really matters for basic guest functionality (ie. can it display
   something on the screen).  It does matter if we want to provide the
   best quality display to the guest.

Comment 7 Richard W.M. Jones 2017-02-16 15:27:52 UTC
I believe this should now be fixed (in fact, in RHEL 7.3 too).
Can we retest this with the final rebased RHEL 7.4 package.

Comment 9 kuwei@redhat.com 2017-03-15 08:43:59 UTC
This bug could be reproduced when convert win7 win2008r2 guest :

Related packages:
virt-v2v-1.36.2-1.el7.x86_64
libguestfs-1.36.2-1.el7.x86_64
libvirt-3.1.0-2.el7.x86_64
qemu-kvm-rhev-2.8.0-6.el7.x86_64
libguestfs-winsupport-7.2-2.el7.x86_64
virtio-win-1.9.0-3.el7.noarch

Comment 10 Pino Toscano 2017-03-23 09:09:29 UTC
(In reply to kuwei from comment #9)
> This bug could be reproduced when convert win7 win2008r2 guest :
> 
> Related packages:
> virt-v2v-1.36.2-1.el7.x86_64
> libguestfs-1.36.2-1.el7.x86_64
> libvirt-3.1.0-2.el7.x86_64
> qemu-kvm-rhev-2.8.0-6.el7.x86_64
> libguestfs-winsupport-7.2-2.el7.x86_64
> virtio-win-1.9.0-3.el7.noarch

Can you please provide the virt-v2v log with -v -x?

Comment 12 kuwei@redhat.com 2017-03-28 02:16:48 UTC
Verify it with below builds:
virt-v2v-1.36.3-1.el7.x86_64
libguestfs-1.36.3-1.el7.x86_64
libvirt-3.1.0-2.el7.x86_64
virtio-win-1.9.0-3.el7.noarch

Steps:
Scenario 1
1:Prepare win7 and win2008r2  guests on esx serve
2:Use virt-v2v to convert the esx windows guest to rhv.
3:After conversion,import the guest to data domain.
4:Try to boot the windows guest,check "Display adapters"

Result:QXL driver is installed,check "Display adapters",it shows as "Red Hat QXL GPU".

Scenario 2:
1:Prepare win7 and win2008r2  guests on Xen serve
2:Use virt-v2v to convert the  windows guest to rhv.
3:After conversion,import the guest to data domain.
4:Try to boot the windows guest,check "Display adapters"

Result:QXL driver is installed,check "Display adapters",it shows as "Red Hat QXL GPU".

Scenario 3:
1:Prepare win7 and win2008r2  guests on kvm local.
2:Use virt-v2v to convert the windows guest to rhv.
3:After conversion,import the guest to data domain.
4:Try to boot the windows guest,check "Display adapters"

Result:QXL driver can't installed automatically in guest after converted by v2v
.

So,as above i think we can move the bug to verified  ,and we track another  bug 1356550 about the issue QXL can't installed  automatically in guest after converted from kvm to rhv by v2v.

Comment 13 errata-xmlrpc 2017-08-01 22:08:55 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, 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-2017:2023