Bug 1910411

Summary: Always use Single-PCI for Linux guests
Product: [oVirt] ovirt-engine Reporter: Arik <ahadas>
Component: BLL.VirtAssignee: Liran Rotenberg <lrotenbe>
Status: CLOSED CURRENTRELEASE QA Contact: Nisim Simsolo <nsimsolo>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 4.4.4CC: bugs, desmond_chen, dfodor, mtessun, nsimsolo
Target Milestone: ovirt-4.4.5Flags: pm-rhel: ovirt-4.4+
Target Release: 4.4.5   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ovirt-engine-4.4.5.3 Doc Type: Bug Fix
Doc Text:
Previously, single QXL PCI was set `true` only on VM creation when the OS type set to linux type. Now, the single QXL PCI will be set once the OS set and changed, allowing it being `true` for linux type VMs and `false` otherwise.
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-03-18 15:12:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Virt RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Arik 2020-12-23 19:09:34 UTC
Single-PCI is supposed to be enabled for Linux and disabled for other operating systems. However, while it works properly for added VMs, it doesn't change properly when updating an existing VM.

Comment 2 Arik 2021-01-07 09:12:31 UTC
*** Bug 1912679 has been marked as a duplicate of this bug. ***

Comment 3 Dusan Fodor 2021-01-24 10:17:06 UTC
ovirt-engine-api-model was not yet built including the fix "depracate single qxl pci", moving back to Modified

Comment 4 Arik 2021-01-24 10:59:12 UTC
I don't mind pushing this to the next build, but the api part is not really needed for verification - had the QE's environment used latest ovirt-engine, this could have been verified.

Comment 5 Nisim Simsolo 2021-01-31 17:53:09 UTC
Verified:
ovirt-engine-4.4.5.3-0.14.el8ev
vdsm-4.40.50.3-1.el8ev.x86_64
qemu-kvm-5.1.0-14.module+el8.3.0+8790+80f9c6d8.1.x86_64
libvirt-daemon-6.6.0-7.3.module+el8.3.0+9547+7d548490.x86_64


how to test:
When single-PCI is disabled (non Linux OS type), in VM dumpxml, the number of QXL devices is equal to the monitors  value  set in edit VM dialog (1,2 or 4)  and heads='1' for each QXL device.
For example:
   <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='32768' heads='1' primary='yes'/>
      <alias name='ua-6dd1c5a9-eb1b-44d4-8101-f98852d02368'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='32768' heads='1'/>
      <alias name='ua-caceb0e2-a910-4732-bd0c-4c4511b19cb7'/>
      <address type='pci' domain='0x0000' bus='0x12' slot='0x02' function='0x0'/>
    </video>

When single-PCI is enabled (Linux OS type), in VM dumpxml, there is  one QXL device and heads is equal to monitors value.
for example: 
   <video>
      <model type='qxl' ram='262144' vram='131072' vgamem='65536' heads='4' primary='yes'/>
      <alias name='ua-cc5a5aa5-b40a-407b-aecd-9a674b7de97a'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>


verification procedure:
1. Set VM OS type to  RHEL8 VM, in console tab select QXL, Spice and  4 monitors.
2. run VM.
3. Observe VM dumpxml and verify there is only one QXL device and heads='4'
4. Open VM console, verify only 1 monitor can be viewed. click on virt-viewer -> View -> verify it is possible to select other displays out of 4 and each display can be opened.
5. Power off VM, set OS type to Windows 10 and run VM.
6. Observe VM dumpxml and verify there are 4 QXL devices, each one with heads='1'
7. Open VM console and verify all 4 displays are opened and each one is showing VM display.
8. Repeat steps 1-7 for all available OS types.

Comment 6 Sandro Bonazzola 2021-03-18 15:12:59 UTC
This bugzilla is included in oVirt 4.4.5 release, published on March 18th 2021.

Since the problem described in this bug report should be resolved in oVirt 4.4.5 release, it has been closed with a resolution of CURRENT RELEASE.

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