Description of problem ---------------------- "QXL" is one of the possible display devices a Nova instance can use. However, QXL comes bundled with Spice graphics software, which will be completely removed in RHEL-9. The deprecation of Spice itself was announced in RHEL-8.3[1]. Note that OSP itself does not support Spice graphics, but only the QXL video model (which comes with one of Spice libraries) as a possible option. This removal of QXL, by consequence of removing Spice, in RHEL-9 has negative impact on a small portion of OSP guests (using QXL) that are migrating from RHEL-8 to RHEL-9. [1] https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/8.3_release_notes/rhel-8-3-0-release#deprecated-functionality_virtualization What now? ---------- Given the negative impact of QXL removal in RHEL 9, OSP 16.2 needs to announce the deprecation of 'QXL' video model. And in OSP 17 we can remove the support for QXL altogether. Recommended alternative ----------------------- For both UEFI and BIOS guests, the 'virtio' (using libvirt terminology) video model is recommended. It's a modern display device designed for virtual machines. It works as follows: When using the 'virtio' display device, any Linux guest with kernel 4.4[*] — or a kernel with the Linux 'virtio-gpu' driver backported — can take full advantage of all 'virtio' device features. In case your guest kernel does not have the ‘virtio-gpu’ driver, no problem: it will still have a working display, because the 'virtio' device will gracefully fallback to VGA compatibility mode. [*] This means RHEL-7 and newer guests, and other Linux distributions using 4.x or 55.x long-term kernels.
More notes ---------- (a) For _existing_ instances, the manual procedure to update the video model is somewhat involved (read: painful). Roughly: (1) Stop the instance (2) Snapshot it (3) Update the image metadata on the snapshot image to use 'virtio' display dev. (4) Then rebuild the instance using the snapshot (b) Before launching _new_ OSP instances on RHEL-9: Users can configure the 'virtio' device as a property (`hw_video_model`) on the template disk image from which you boot VMs: $ openstack image set \ --property hw_video_model=virtio \ <template_disk_image_UUID> And then boot off the 'template_disk_image_UUID'. Or you can directly specify the video model at the time of guest creation too ("server create" is just simply creating VM): $ openstack server create --flavor m1.micro \ --image rhel8.4 \ --property 'hw_video_model=virtio' vm1
(In reply to Kashyap Chamarthy from comment #1) [...] > Or you can directly specify the video model at the time of guest > creation too ("server create" is just simply creating VM): > > $ openstack server create --flavor m1.micro \ > --image rhel8.4 \ > --property 'hw_video_model=virtio' vm1 Please ignore this above command; it is not valid, as flavor extra specs do not expose video models. The only valid approach for new instances is option (a) — updating the image metadata. (Thanks to Lee and Stephen on IRC for the correction.)
Updated content available on the Customer Portal: https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.2/html/creating_and_managing_images/appx-image-config-parameters