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
This commit is contained in:
Sean Mooney
2025-02-05 20:31:31 +00:00
parent 88a36a5a00
commit d4f40976d0
4 changed files with 33 additions and 4 deletions

View File

@@ -143,6 +143,7 @@
- job:
name: nova-ovs-hybrid-plug
parent: tempest-multinode-full-py3
nodeset: devstack-two-node-debian-bookworm
description: |
Run move operations, reboot, and evacuation (via the same post-run hook
as the nova-live-migration job) tests with the OVS network backend and
@@ -175,6 +176,7 @@
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
ML2_L3_PLUGIN: router
NOVA_VNC_ENABLED: False
devstack_services:
# Disable OVN services
br-ex-tcpdump: false
@@ -202,6 +204,9 @@
s-object: false
s-proxy: false
openstack-cli-server: true
# disable vnc and enable spice
n-novnc: false
n-spice: true
devstack_local_conf:
post-config:
"/$NEUTRON_CORE_PLUGIN_CONF":
@@ -220,6 +225,8 @@
Q_ML2_TENANT_NETWORK_TYPE: vxlan
Q_ML2_PLUGIN_MECHANISM_DRIVERS: openvswitch
ML2_L3_PLUGIN: router
NOVA_VNC_ENABLED: False
NOVA_SPICE_ENABLED: true
devstack_services:
# Disable OVN services
br-ex-tcpdump: false

View File

@@ -6077,8 +6077,8 @@ class LibvirtConnTestCase(test.NoDBTestCase,
self.flags(pointer_model='usbtablet')
video_map = {
fields.Architecture.X86_64: 'qxl',
fields.Architecture.I686: 'qxl',
fields.Architecture.X86_64: 'virtio',
fields.Architecture.I686: 'virtio',
fields.Architecture.PPC: 'vga',
fields.Architecture.PPC64: 'vga',
fields.Architecture.PPC64LE: 'vga',

View File

@@ -6768,8 +6768,6 @@ class LibvirtDriver(driver.ComputeDriver):
return 'virtio'
elif guestarch == fields.Architecture.MIPSEL:
return 'virtio'
elif CONF.spice.enabled:
return 'qxl'
# NOTE(lyarwood): Return None and default to the default of
# LibvirtConfigGuestVideo.type that is currently virtio

View File

@@ -0,0 +1,24 @@
---
upgrade:
- |
Ubuntu 24.04 does not support the QXL video model or spice.
Operators using instances with this video model will be unable to start
them if moving to Ubuntu 24.04. CentOS 9 and RHEL 9 previously compiled
out support for spice, and as QXL was implemented in libspice, support
for QXL was removed as a result for the removal of support for spice.
The QXL model was a spice optimized video model and is no longer
supported by several distros. To avoid issues with starting instances,
operators should change the spice video model from QXL to virtio and
replace the spice console with vnc. For existing instances the video
model can be updated with the ``nova-manage image_property set`` command.
when updating the embedded image properties Operators should evaluate if
any glance images request the QXL video model and update them or work
with the image owner to have them move to a modern video model.
fixes:
- |
When the default video model for libvirt was updated to virtio in Yoga
the default for host using spice was not changed. This lead to issues
when starting instances on hosts that had spice configured with QXL as
the default video model on modern distros. To address this the default
spice video model is now virtio.
see https://bugs.launchpad.net/nova/+bug/2097529 for more details.