Bug 1511407

Summary: listen type changed to 'none' after managedsave/restore guest with spice listening on an auto-generated unix socket
Product: Red Hat Enterprise Linux 7 Reporter: yafu <yafu>
Component: libvirtAssignee: Pavel Hrdina <phrdina>
Status: CLOSED ERRATA QA Contact: Fangge Jin <fjin>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.5CC: dyuan, fjin, lmiksik, phrdina, rbalakri, xuzhang, zpeng
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-3.9.0-5.el7 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-10 10:59:09 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:
Embargoed:

Description yafu 2017-11-09 10:10:06 UTC
Description of problem:
Listen type changed to 'none' after managedsave/restore guest with spice listening on an auto-generated unix socket

Version-Release number of selected component (if applicable):
libvirt-3.9.0-1.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Enable spice_auto_unix_socket in /etc/libvirt/qemu.conf and restart libvirtd:
spice_auto_unix_socket = 1

2.Prepare a guest with xml:
#virsh edit rhel7.3-min
...
    <graphics type='spice' port='-1' autoport='yes'>
      <listen type='address'/>
    </graphics>
...

3.Start the guest:
#virsh start rhel7.3-min

4.Check the spice device:
#virsh dumpxml rhel7.3-min
...
<graphics type='spice'>
      <listen type='socket' socket='/var/lib/libvirt/qemu/domain-10-rhel7.3-min/spice.sock'/>
    </graphics>
...

5.Do managedsave and restore:
# virsh managedsave rhel7.3-min
Domain rhel7.3-min state saved by libvirt
# virsh start rhel7.3-min
Domain rhel7.3-min started

6.Check the spice device again:
#virsh dumpxml rhel7.3-min
...
   <graphics type='spice'>
      <listen type='none'/>
    </graphics>
...

Actual results:
Listen type changed to 'none' after managedsave/restore guest with spice listening on an auto-generated unix socket

Expected results:
listen type should not change after managedsave/restore guest with spice listening on an auto-generated unix socket

Comment 2 Pavel Hrdina 2017-11-30 16:15:06 UTC
Upstream patch posted:

https://www.redhat.com/archives/libvir-list/2017-November/msg01190.html

Comment 3 Pavel Hrdina 2017-11-30 16:54:26 UTC
Upstream commit:

commit cb06ea57ad80a964028f22fb49d6ab96648ae741
Author: Pavel Hrdina <phrdina>
Date:   Thu Nov 30 17:04:35 2017 +0100

    conf: fix migratable XML for graphics if socket is generated based on config

Comment 6 Fangge Jin 2017-12-28 02:46:55 UTC
Reproduced on build libvirt-3.9.0-4.virtcov.el7.x86_64

Verified on build libvirt-3.9.0-6.el7.x86_64

After managedsave, dumpxml:
# virsh managedsave-dumpxml rhel7-min
...
    <graphics type='spice' autoport='yes'>
      <listen type='address'/>
    </graphics>
...

Restore guest:
# virsh start rhel7-min
Domain rhel7-min started

# virsh dumpxml rhel7-min
...
    <graphics type='spice'>
      <listen type='socket' socket='/var/lib/libvirt/qemu/domain-2-rhel7-min/spice.sock'/>
    </graphics>
...

Comment 10 errata-xmlrpc 2018-04-10 10:59:09 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, 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/RHEA-2018:0704