Bug 1183447 - <driver/> isn't always formated as it should be
Summary: <driver/> isn't always formated as it should be
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: libvirt
Version: 7.0
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Michal Privoznik
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On: 1128751
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-01-19 04:59 UTC by Jan Kurik
Modified: 2015-02-09 10:04 UTC (History)
16 users (show)

Fixed In Version: libvirt-1.1.1-29.el7_0.5
Doc Type: Bug Fix
Doc Text:
Due to a bug in the underlying code, each attribute of the [driver/] element of the libvirt [interface/] setting was incorrectly formatted with its own [driver/] element. As a consequence, only the first [driver/] element and its attribute were parsed back, and the following [driver/] elements and their attributes were ignored. This could lead to a number of features not working correctly. With this update, the [driver/] is formatted only once with all the attributes, and is therefore parsed as intended. As a result, the described problem no longer occurs.
Clone Of: 1128751
Environment:
Last Closed: 2015-02-05 12:48:41 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:0131 normal SHIPPED_LIVE libvirt bug fix and enhancement update 2015-02-05 17:48:27 UTC

Description Jan Kurik 2015-01-19 04:59:56 UTC
This bug has been copied from bug #1128751 and has been proposed
to be backported to 7.0 z-stream (EUS).

Comment 5 Song Wang 2015-01-28 07:21:20 UTC
Verify it as follow:
Scene 1:
1.[root@localhost ~]# rpm -q libvirt
libvirt-1.1.1-29.el7_0.5.x86_64

2.add these to xml
<driver ioeventfd='on' event_idx='on' queues='5'/>
[root@localhost ~]# virsh edit bb
Domain bb XML configuration edited.

3.[root@localhost ~]# virsh dumpxml bb |grep interface -A6
    <interface type='network'>
      <mac address='52:54:00:c9:7d:a5'/>
      <source network='default'/>
      <model type='virtio'/>
      <driver ioeventfd='on' event_idx='on' queues='5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>

4.[root@localhost ~]# virsh start bb
Domain bb started

5.[root@localhost ~]# virsh dumpxml bb |grep interface -A6
    <interface type='network'>
      <mac address='52:54:00:c9:7d:a5'/>
      <source network='default'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <driver ioeventfd='on' event_idx='on' queues='5'/>
      <alias name='net0'/>
--
    </interface>


6.[root@localhost ~]# ps aux |grep qemu
qemu      9218 78.0  2.3 1914612 182936 ?      Sl   15:13   0:13 /usr/libexec/qemu-kvm -name bb -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 24d19d5a-ee01-4a2b-bec9-948fca512c00 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/bb.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x3 -device nec-usb-xhci,id=usb,bus=pci.0,addr=0x6 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 -drive file=/var/lib/libvirt/images/rhel7.0.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,fds=23:24:25:26:27,id=hostnet0,vhost=on,vhostfds=28:29:30:31:32 -device virtio-net-pci,ioeventfd=on,event_idx=on,mq=on,vectors=12,netdev=hostnet0,id=net0,mac=52:54:00:c9:7d:a5,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -spice port=5901,addr=127.0.0.1,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x7 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x9

7.[root@localhost ~]# virsh destroy bb
Domain bb destroyed

8. [root@localhost ~]# virsh dumpxml bb |grep interface -A6
    <interface type='network'>
      <mac address='52:54:00:c9:7d:a5'/>
      <source network='default'/>
      <model type='virtio'/>
      <driver ioeventfd='on' event_idx='on' queues='5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>


Scene 2:
1.add these to xml
<driver name='vhost' txmode='iothread' ioeventfd='on' event_idx='off' queues='5'/>
[root@localhost ~]# virsh edit bb
Domain bb XML configuration edited.

2.[root@localhost ~]# virsh dumpxml bb |grep interface -A6
    <interface type='network'>
      <mac address='52:54:00:c9:7d:a5'/>
      <source network='default'/>
      <model type='virtio'/>
      <driver name='vhost' txmode='iothread' ioeventfd='on' event_idx='off' queues='5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>

3.[root@localhost ~]# virsh start bb
Domain bb started

4.[root@localhost ~]# virsh dumpxml bb |grep interface -A6
    <interface type='network'>
      <mac address='52:54:00:c9:7d:a5'/>
      <source network='default'/>
      <target dev='vnet1'/>
      <model type='virtio'/>
      <driver name='vhost' txmode='iothread' ioeventfd='on' event_idx='off' queues='5'/>
      <alias name='net0'/>
--
    </interface>


5.[root@localhost ~]# ps aux |grep qemu
qemu      9365  104  1.3 1914616 103532 ?      Sl   15:14   0:10 /usr/libexec/qemu-kvm -name bb -S -machine pc-i440fx-rhel7.0.0,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid 24d19d5a-ee01-4a2b-bec9-948fca512c00 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/bb.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device pci-bridge,chassis_nr=1,id=pci.1,bus=pci.0,addr=0x3 -device nec-usb-xhci,id=usb,bus=pci.0,addr=0x6 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x4 -drive file=/var/lib/libvirt/images/rhel7.0.qcow2,if=none,id=drive-ide0-0-0,format=qcow2,cache=none -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -netdev tap,fds=23:24:25:26:27,id=hostnet0,vhost=on,vhostfds=28:29:30:31:32 -device virtio-net-pci,tx=bh,ioeventfd=on,event_idx=off,mq=on,vectors=12,netdev=hostnet0,id=net0,mac=52:54:00:c9:7d:a5,bus=pci.0,addr=0x5 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -device usb-tablet,id=input0 -spice port=5901,addr=127.0.0.1,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x7 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x9


so change the state to VERIFIED.

Comment 7 errata-xmlrpc 2015-02-05 12:48:41 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://rhn.redhat.com/errata/RHBA-2015-0131.html


Note You need to log in before you can comment on or make changes to this bug.