Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1844280

Summary: [Docs] [vGPU] nVidia drivers cannot be installed via VNC/SPICE console after vGPU is enabled, there is no console.
Product: Red Hat Enterprise Virtualization Manager Reporter: Germano Veit Michel <gveitmic>
Component: DocumentationAssignee: rhev-docs <rhev-docs>
Status: CLOSED NOTABUG QA Contact: rhev-docs <rhev-docs>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 4.3.9CC: coli, ctomasko, germanovmichel, lsurette, mavital, mhicks, mkalinin, mtessun, srevivo, yafu, zhguo
Target Milestone: ovirt-4.4.6Keywords: Documentation
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-05-07 07:36:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: Docs RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Germano Veit Michel 2020-06-05 00:08:09 UTC
Description of problem:

In RHV 4.3.5+ there was a change of logic on how vGPU works via BZ1723580 and the Documentation does not seem to have been updated.

4.3.4 and lower:  VM runs with both vGPU and a QXL/VGA device, while Spice/VNC console uses the QXL/VGA device and is always available
4.3.5 and higher: VM runs only with vGPU, Spice/VNC console is a blank screen until the VM initializes the display when Xorg/GDM loads.

So previously the user could see from console everything from boot. But now the user can only see an output once Xorg/GDM loads.
And if there is no driver installed, the system does not boot into graphical.target by default or the config is broken then there is no output at all.

As a result:

A) In 4.3.5 and later the user cannot follow the docs in [1], becuse step 2.1 prevents the user from accessing the console in step 2.2.
See first step of 2.2.1:
~~~
Run the virtual machine and connect to it using a serial console, such as SPICE or VNC. 
~~~
This doesn't work, there is no console because the vGPU is not initialized yet, as there is no driver (which step 2.2 would install).

The fix for this would be to invert steps 2.1 and 2.2. Install the nVIDIA drivers and only then add the nVidia vGPU.

Other alternatives:
* "nodisplay" option on the mdev_device. (see BZ1844279)
* virtio-serial console (but what about Windows?)
* other remote console such as RDP...

B) The behaviour that console will only work *after* the vGPU is initialized is not clear or explained in the Docs. In RHEL7 Docs [2] we have it explained:
~~~
Also note that using model type='none' currently makes it impossible to see the boot graphical output until the drivers are initialized. As a result, the first graphical output displayed is the login screen. 
~~~

[1] https://access.redhat.com/documentation/en-us/red_hat_virtualization/4.3/html/setting_up_an_nvidia_gpu_for_a_virtual_machine_in_red_hat_virtualization/assigning_virtual_gpus
[2] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/virtualization_deployment_and_administration_guide/sect-device-GPU#sect-device-GPU-vGPU

Comment 1 Germano Veit Michel 2021-03-02 01:47:23 UTC
Martin Tessun and I discussed this. He mentioned it should not happen and the console should always work with the vGPU as the main display device,
so even without drivers the console display loads and the customer can use it to install the drivers.

I was going to close the request, but with 2 more customers tickets attached I think we need to reproduce this again. 

Maybe there is a bug and the console display is not working with vGPU only without pre-installed drivers? I don't have a system handy
to test this quickly and easily, but we could get one.

Comment 5 ctomasko 2021-03-14 19:22:05 UTC
Also see related BZ https://bugzilla.redhat.com/show_bug.cgi?id=1844279

Comment 8 Germano Veit Michel 2021-05-07 07:36:22 UTC
This Doc change should not be needed once BZ1958081 is implemented and Docs can stay as is.
I will update the KCS article in the meantime, so we can close this BZ.