Bug 1176771

Summary: When migrated guest failed, virsh migrate command without '--verbose' parameter will get an error message different with '--verbose'.
Product: Red Hat Enterprise Linux 7 Reporter: lcheng
Component: libvirtAssignee: Jiri Denemark <jdenemar>
Status: CLOSED DUPLICATE QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.1CC: dyuan, honzhang, rbalakri, shyu, xuzhang
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-30 14:25:43 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 lcheng 2014-12-23 06:21:20 UTC
Description of problem:
Hot-plug a virtual usb device to guest, and then migrate guest. When migrated guest failed, virsh migrate command without '--verbose' parameter will get an error message different with '--verbose'.


Version-Release number of selected component (if applicable):
qemu-kvm-rhev-2.1.2-17.el7.x86_64
libvirt-1.2.8-11.el7.x86_64


How reproducible:
80%


Steps to Reproduce:
1. Start a guest and attach a virtual usb disk to guest.
[root@localhost ~]# cat usb3.xml
<disk type='file' device='disk'>
<driver name='qemu' type='raw'/>
<source file='/var/lib/libvirt/images/usb.img' startupPolicy='optional'/>
<target dev='sdd' bus='usb'/>
</disk>

[root@localhost ~]# virsh start r7
Domain r7 started

[root@localhost ~]# virsh attach-device r7 usb3.xml
Device attached successfully

[root@localhost ~]# virsh dumpxml r7 | grep disk -A10
...
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/var/lib/libvirt/images/r7.qcow2'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/var/lib/libvirt/images/usb.img' startupPolicy='optional'/>
      <backingStore/>
      <target dev='sdd' bus='usb'/>
      <alias name='usb-disk3'/>
    </disk>
...

2. Migrate guest without '--verbose' from hostA to hostB.
[root@localhost ~]# virsh migrate --live r7 qemu+ssh://10.66.82.123/system
root.82.123's password:
error: Domain not found: no domain with matching name 'r7'

[root@localhost ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 56    r7                             running


3. Migrate guest with '--verbose' from hostA to hostB.
[root@localhost ~]# virsh migrate --live r7 qemu+ssh://10.66.82.123/system --verbose
root.82.123's password:
Migration: [100 %]error: internal error: early end of file from monitor: possible problem:
Unknown savevm section or instance '0000:00:05.2/1/usb-ptr' 0
2014-12-23T02:52:18.578745Z qemu-kvm: load of migration failed: Invalid argument
KVM: injection failed, MSI lost (Operation not permitted)


Actual results:
As steps.


Expected results:
For step 2 and step 3, should get the same error message. 


Additional info:

When get the error message 'no domain with matching name 'r7' on hostA, the log on hostB as follows:
  
[root@intel-q9550-4-1 ~]# tail -f /var/log/libvirt/qemu/r7.log
2014-12-23 02:49:31.221+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin QEMU_AUDIO_DRV=spice /usr/libexec/qemu-kvm -name r7 -S -machine pc-i440fx-rhel7.1.0,accel=kvm,usb=off -cpu SandyBridge,-rdtscp,-avx,-aes,-tsc-deadline,-popcnt,-x2apic,-sse4.2,-pclmuldq -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid 5a56c9cd-0a1a-4fe9-ae65-f4027ff6d038 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/r7.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=discard -no-hpet -no-shutdown -global PIIX4_PM.disable_s3=1 -global PIIX4_PM.disable_s4=1 -boot strict=on -device nec-usb-xhci,id=usb,bus=pci.0,addr=0x5.0x2 -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=/var/lib/libvirt/images/r7.qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/var/lib/libvirt/images/usb.img,if=none,id=drive-usb-disk3,format=raw -device usb-storage,drive=drive-usb-disk3,id=usb-disk3,removable=off -netdev tap,fd=23,id=hostnet0,vhost=on,vhostfd=26 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:db:0c:00,bus=pci.0,addr=0x3 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev spicevmc,id=charchannel0,name=vdagent -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0 -device usb-tablet,id=input0 -spice port=5902,addr=127.0.0.1,disable-ticketing,seamless-migration=on -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=8,bus=pci.0,addr=0x2 -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -incoming tcp:[::]:49152 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x8 -msg timestamp=on
char device redirected to /dev/pts/5 (label charserial0)
Unknown savevm section or instance '0000:00:05.2/1/usb-ptr' 0
2014-12-23T02:49:33.625590Z qemu-kvm: load of migration failed: Invalid argument
KVM: injection failed, MSI lost (Operation not permitted)
2014-12-23 02:49:33.662+0000: shutting down

Comment 3 Jiri Denemark 2015-06-30 14:25:43 UTC

*** This bug has been marked as a duplicate of bug 1090093 ***