Hide Forgot
description of problem: libvirt should forbid add a address for guestfwd type channel Version-Release number of selected component (if applicable): libvirt-1.2.8-10.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.prepare a guest have guestfwd type channel and have a address # virsh dumpxml r6 ... <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/r6.agent'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/guestfwd'/> <target type='guestfwd' address='0.0.0.0' port='4600'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> ... 2. start the guest # virsh start r6 Domain r6 started 3.check qemu cmd line there is no settings for the address: # ps aux|grep qemu -chardev socket,id=charchannel1,path=/var/lib/libvirt/qemu/guestfwd,server,nowait -netdev user,guestfwd=tcp:0.0.0.0:4600-chardev:charchannel1,id=user-channel1 4.and use dumpxml found the address still in XML: <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/r6.agent'/> <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <channel type='unix'> <source mode='bind' path='/nfs2/guestfwd'/> <target type='guestfwd' address='0.0.0.0' port='4600'/> <alias name='channel1'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> Actual results: address in guestfwd is useless and won't build a cmd line for it, we should forbid it. Expected results: Cannot add a address for guestfwd type channel Additional info: Also found we can add any address to this place: <address type='drive' controller='0' bus='0' target='0' unit='0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/> Thanks Martin's patch: http://www.redhat.com/archives/libvir-list/2014-December/msg00562.html
Fixed upstream by v1.2.11-rc1-27-g47a3dd4: commit 47a3dd46ead20e6fdc30bcdc1b8e707e250d33da Author: Martin Kletzander <mkletzan> Date: Wed Dec 10 10:56:09 2014 +0100 conf: Ignore device address for guestfwd channel
Verified as below: [root@localhost ~]# rpm -q libvirt qemu-kvm-rhev libvirt-1.2.15-1.el7.x86_64 qemu-kvm-rhev-2.3.0-1.el7.x86_64 Add below lines to domain: <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/guestfwd'/> <target type='guestfwd' address='0.0.0.0' port='4600'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> After "virsh edit" ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ From libvirtd.log 2015-05-07 07:33:40.180+0000: 7093: debug : virFileFindResourceFull:1666 : Resolved 'domain.rng' to '/usr/share/libvirt/schemas/domain.rng' 2015-05-07 07:33:40.187+0000: 7093: debug : virDomainChrDefParseXML:9196 : Ignoring device address for gustfwd channel ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [root@localhost ~]# virsh dumpxml r71 | grep "</channel" -B4 ... <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/guestfwd'/> <target type='guestfwd' address='0.0.0.0' port='4600'/> </channel> [root@localhost ~]# virsh start r71 Domain r71 started [root@localhost ~]# virsh dumpxml r71 | grep "</channel" -B4 ... <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/guestfwd'/> <target type='guestfwd' address='0.0.0.0' port='4600'/> <alias name='channel3'/> </channel>
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://rhn.redhat.com/errata/RHBA-2015-2202.html