Bug 2026014 - [For OSP17] [RFE] libvirt: Switch the default video model from 'cirrus' to 'virtio'
Summary: [For OSP17] [RFE] libvirt: Switch the default video model from 'cirrus' to 'v...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openstack-nova
Version: 17.0 (Wallaby)
Hardware: All
OS: All
low
low
Target Milestone: z1
: 17.0
Assignee: Kashyap Chamarthy
QA Contact: OSP DFG:Compute
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-11-23 16:15 UTC by Kashyap Chamarthy
Modified: 2023-03-21 19:48 UTC (History)
12 users (show)

Fixed In Version: openstack-nova-23.2.2-0.20220720130412.7074ac0.el9ost
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-01-25 12:28:47 UTC
Target Upstream Version: Yoga
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
OpenStack gerrit 798680 0 None MERGED libvirt: Switch the default video model from 'cirrus' to 'virtio' 2021-11-23 16:19:29 UTC
Red Hat Issue Tracker OSP-11014 0 None None None 2021-11-23 16:17:08 UTC
Red Hat Product Errata RHBA-2023:0271 0 None None None 2023-01-25 12:29:38 UTC

Description Kashyap Chamarthy 2021-11-23 16:15:18 UTC
What?
-----

Change Nova's default video display from 'cirrus' to 'virtio'.

Why?
----

First of all, it was declared deprecated[0] back in RHEL-8.

Second, the "cirrus" display device has many limitations and is
"considered harmful"[1] by QEMU graphics maintainers since 2014.

The recommended[1] choice by the QEMU graphics maintainers is 'virtio'
(using the libvirt term) for both UEFI and BIOS guests:

  - Any Linux guest with kernel 4.4 (or a kernel with the Linux
    'virtio-vgpu' driver backported) can take full advantage of the
    'virtio' display device.

  - In case your guest kernel does _not_ have the kernel driver (called
    "virtio-gpu.ko"), no problem: the 'virtio' display device will
    gracefully fallback to VGA compatibility mode.

In other words, 'virtio' is a reasonable default _whether_ or not the
guest has a kernel 'virtio-gpu' driver. If the guest kernel has the
driver, it'll be used. Otherwise, it transparently falls back to the
VGA compat mode.

Lastly, the 'virtio' display device gets the most upstream
development[3], and "support for new, cool features will most likely be
added to this device."
Version requirements
--------------------

  - Linux kernel version 4.4 or above
  - QEMU version 2.6

Upstream Nova and its CI handsomely satisfy both the requirements:

  - Nova's minimum QEMU is 4.2.0
  - Ubuntu Focal, the LTS release, ships with Linux 5.4 series, so we're
    good there too. (And OSes like CentOS7 have the 'virtio-gpu' driver
    backported to them.)

Upgrade impact
--------------

The 'cirrus' device still exists upstream; so any Nova guest with
'cirrus' that is migrated to a compute host that has 'virtio' as the
default will migrate just fine. Upon cold-reboot (stop + start), the
Nova instance will pick up 'virtio' as the default display device.


[0] https://bugzilla.redhat.com/show_bug.cgi?id=1651994 — Declare the
    "Cirrus VGA" device emulation of QEMU as deprecated in RHEL8
[1] https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
[2] https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/
[3] https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/#virtio-vga

Comment 1 Kashyap Chamarthy 2021-11-23 16:18:08 UTC
Upstream blueprint:

    https://blueprints.launchpad.net/nova/+spec/virtio-as-default-display-device


The simple patch is already merged:

    https://opendev.org/openstack/nova/commit/cc59698d6903

Comment 5 OSP Team 2022-09-22 10:40:58 UTC
According to our records, this should be resolved by openstack-nova-23.2.2-0.20220720130412.7074ac0.el9ost.  This build is available now.

Comment 12 errata-xmlrpc 2023-01-25 12:28:47 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 (Red Hat OpenStack Platform 17.0.1 bug fix and enhancement 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-2023:0271


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