← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2097529] Re: virtio should be the default hw_video_model even for spice

 

Reviewed:  https://review.opendev.org/c/openstack/nova/+/940873
Committed: https://opendev.org/openstack/nova/commit/d4f40976d0d169c89abfa6f56574b496318061cc
Submitter: "Zuul (22348)"
Branch:    master

commit d4f40976d0d169c89abfa6f56574b496318061cc
Author: Sean Mooney <work@xxxxxxxxxxxxxxx>
Date:   Wed Feb 5 20:31:31 2025 +0000

    move nova-ovs-hybrid-plug to deploy with spice and fix qxl default
    
    In centos/rhel 9 qemu supprot for the qxl model was removed
    with the removal of spice support.
    In ubuntu 24.04 qemu support for qxl and spice supprot
    has now also been removed.
    debian 12 bookworm still support spice in there qemu package.
    
    When we updated the default video model to virtio for x86 we
    left a config driven special case for spice to default to qxl
    since that nolonger works on centos or ubuntu based distos that
    default is not helpful so this change removes the special case
    making virtio the default for x86 regardless of the console used.
    
    This change also updates the nova-ovs-hybrid-plug to test with spice
    so that we have at least one job using it. to enable that the job is
    moved to debian.
    
    Closes-Bug: #2097529
    Change-Id: I265ad2ced3729bed41bf53c58dcebadb775ce1f7


** Changed in: nova
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2097529

Title:
  virtio should be the default hw_video_model even for spice

Status in OpenStack Compute (nova):
  Fix Released

Bug description:
  4 years ago we changed the default video model in the libvirt driver to virto for all backends that
  support it.

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

  when that change was made
  https://github.com/openstack/nova/commit/cc59698d6903b0ed3778826d6704758294abbd69

  we did not update the default when using spice

  https://github.com/openstack/nova/blob/e27bbe72e0d293e55c30d4f90ca0afcf47427419/nova/virt/libvirt/driver.py#L6771-L6772

  In centos/rhel 9 cirros was deprecated for removal i a possible future
  release and QXL was removed entirely as all spice support was compiled
  out of qemu.

  it appears that ubuntu have now also taken the same approach and removed qxl support form 24.04
  leading to the following error 
   libvirt.libvirtError: unsupported configuration: domain configuration does not support video model 'qxl'

  
  qemu and libvirt on ubuntu 24.04 do correctly report that qxl is not supported via the domacaps API by omitting it form the last of available models

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:     <video
  supported='yes'>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:       <enum
  name='modelType'>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:
  <value>vga</value>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:
  <value>cirrus</value>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:
  <value>virtio</value>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:
  <value>none</value>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:
  <value>bochs</value>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:       </enum>

  Feb 05 20:51:52.308686 np0039776312 nova-compute[65944]:     </video>

  
  that means that nova will not report the qxl video model trait and as a result if the 
  image_metadata_prefilter is enabled it will correctly prevent vms that request qxl form being scheduled to host that do not support it.

  this however does not protect form the config driven behavior that
  sets the default to qxl if speice is enabled.

  historically this was done because qxl was a spice optimised video
  model offering richer graphics vs cirros or VGA.

  today virtio is our general default and it provides a richer feature
  set then qxl so we should just remove the special casing for spice and
  default it to virtio as well.

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2097529/+subscriptions



References