Bug 2035163

Summary: Starting guest with spice audio backend should fail when SPICE graphics is disabled in QEMU
Product: Red Hat Enterprise Linux 9 Reporter: Lili Zhu <lizhu>
Component: libvirtAssignee: Martin Kletzander <mkletzan>
libvirt sub component: General QA Contact: zhentang <zhetang>
Status: CLOSED ERRATA Docs Contact:
Severity: unspecified    
Priority: unspecified CC: coli, fjin, jdenemar, jtomko, lmen, marcandre.lureau, virt-maint, xuzhang, yafu, zhguo
Version: 9.0Keywords: Triaged
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-8.4.0-1.el9 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2043498 (view as bug list) Environment:
Last Closed: 2022-11-15 10:03:03 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version: 8.4.0
Embargoed:

Description Lili Zhu 2021-12-23 06:27:39 UTC
Description of problem:
Starting guest with spice audio backend should fail when SPICE graphics is disabled in QEMU

Version-Release number of selected component (if applicable):
libvirt-7.10.0-1.el9.x86_64
qemu-kvm-6.2.0-1.el9.x86_64

How reproducible:
100%

Steps to Reproduce:
1. check whether qemu support spice
# /usr/libexec/qemu-kvm -spice ?
qemu-kvm: -spice ?: spice support is disabled

2. define a guest with the following xml snippet
    <graphics type='vnc' port='-1' autoport='yes'>
      <listen type='address'/>
    </graphics>
    <audio id='1' type='spice'/>

3. start the guest
# virsh start avocado-vt-vm1
Domain 'avocado-vt-vm1' started

4. check the qemu cmd line
# ps aux |grep spice
...
-audiodev {"id":"audio1","driver":"spice"} -vnc 127.0.0.1:4,audiodev=audio1 -device
...


Expected results:
When define or start guest with spice audio, it should report the error like "spice support is disabled with this QEMU"


Additional info:

Comment 1 Martin Kletzander 2022-05-12 08:03:51 UTC
Patchset proposed:

https://listman.redhat.com/archives/libvir-list/2022-May/231228.html

Comment 2 Martin Kletzander 2022-05-13 07:49:11 UTC
Fixed upstream with commit v8.3.0-64-g36e86dbf3360:

commit 36e86dbf3360df27c080f5bb460ac86172c253a0 (nertpinx/master, nertpinx/audio)
Author: Martin Kletzander <mkletzan>
Date:   Wed May 11 15:46:57 2022 +0200

    qemu: Disable spice-related devices without spice graphics

Comment 5 zhentang 2022-06-21 07:27:40 UTC
verified on 
libvirt-8.4.0-2.el9
qemu-kvm-6.2.0-11.el9_0


1. define a vm with spice audio back-end 
xml
...
 <graphics type='vnc' port='-1' autoport='yes'>
      <listen type='address'/>
    </graphics>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <audio id='1' type='spice'/>
    <video>

...

# virsh define /tmp/vm1
error: Failed to define domain from /tmp/vm1
error: unsupported configuration: Spice audio is not supported without spice graphics

2. edit a guest adding a spice audio backend
# virsh edit vm1
error: unsupported configuration: Spice audio is not supported without spice graphics

Comment 7 errata-xmlrpc 2022-11-15 10:03:03 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 (Low: libvirt security, bug fix, and enhancement update), 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/RHSA-2022:8003