Bug 1215087 - migration: 7.2->earlier; serial compatibility
Summary: migration: 7.2->earlier; serial compatibility
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Dr. David Alan Gilbert
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks: 1174920
TreeView+ depends on / blocked
 
Reported: 2015-04-24 09:28 UTC by Dr. David Alan Gilbert
Modified: 2015-12-04 16:39 UTC (History)
8 users (show)

Fixed In Version: qemu-kvm-rhev-2.3.0-6.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-12-04 16:39:55 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2015:2546 0 normal SHIPPED_LIVE qemu-kvm-rhev bug fix and enhancement update 2015-12-04 21:11:56 UTC

Description Dr. David Alan Gilbert 2015-04-24 09:28:42 UTC
Description of problem:
Amit's checker picked up differences in vmstate for serial; need to look what to do with them.

See bz 1174920

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 4 Miroslav Rezanina 2015-06-26 11:20:07 UTC
Fix included in qemu-kvm-rhev-2.3.0-6.el7

Comment 8 huiqingding 2015-07-02 09:06:06 UTC
I cannot reproduce this bug, when do migration 7.2 -> 7.1 with serial device, hit bz 1209300. The detailed reproduce steps are as following:
RHEL7.1 host:
qemu-kvm-rhev-2.1.2-23.el7_1.4.x86_64
kernel-3.10.0-229.7.2.el7.x86_64

RHEL7.2 host:
qemu-kvm-rhev-2.2.0-8.el7.x86_64
kernel-3.10.0-287.el7.x86_64

Reproduce steps:
1. boot a guest on RHEL7.2 host:
# /usr/libexec/qemu-kvm -cpu Opteron_G3 -machine pc-i440fx-rhel7.1.0 -drive file=/mnt/win2012r2.qcow2,if=none,cache=none,media=disk,format=qcow2,id=disk1 -device ide-drive,id=ide0-0-0,drive=disk1,bootindex=0 -monitor stdio -netdev tap,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=52:54:06:7f:f9:56,bus=pci.0,addr=0x4 -boot menu=on -vnc :0 -vga cirrus -chardev file,path=/root/console.log,id=serial1 -device isa-serial,chardev=serial1,id=s1 -usb -device usb-tablet,id=tablet1 -smp 2,cores=2,threads=1,sockets=1 -m 2G -enable-kvm -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -device virtio-serial-pci,id=virtio-serial0,max_ports=31,bus=pci.0,addr=0x6 -chardev socket,path=/tmp/tt0,server,nowait,id=chardev0 -device virtserialport,chardev=chardev0,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port0

2. boot the guest on dst RHEL7.1 host using "-incoming tcp:0:5800"

3. do migration
(qemu) migrate -d tcp:10.66.106.84:5800

Actual results:
qemu-kvm on dst host quits with the error info:
qemu: warning: error while loading state for instance 0x1 of device 'apic'

Comment 9 Dr. David Alan Gilbert 2015-07-02 09:08:28 UTC
The 2.2.x packages have other problems; don't even try to compare with those.

Comment 10 huiqingding 2015-07-02 09:14:29 UTC
I test the fixed version qemu-kvm-rhev-2.3.0-6.el7.

RHEL7.1 host:
qemu-kvm-rhev-2.1.2-23.el7_1.4.x86_64
kernel-3.10.0-229.7.2.el7.x86_64

RHEL7.2 host:
qemu-kvm-rhev-2.3.0-6.el7.x86_64
kernel-3.10.0-287.el7.x86_64

Test steps:
1. boot a win2012r2 guest with a virtio-serial device on RHEL7.2 host:
# /usr/libexec/qemu-kvm -cpu Opteron_G3 -machine pc-i440fx-rhel7.1.0 -drive file=/mnt/win2012r2.qcow2,if=none,cache=none,media=disk,format=qcow2,id=disk1 -device ide-drive,id=ide0-0-0,drive=disk1,bootindex=0 -monitor stdio -netdev tap,id=hostnet0 -device e1000,netdev=hostnet0,id=net0,mac=52:54:06:7f:f9:56,bus=pci.0,addr=0x4 -boot menu=on -vnc :0 -vga cirrus -chardev file,path=/root/console.log,id=serial1 -device isa-serial,chardev=serial1,id=s1 -usb -device usb-tablet,id=tablet1 -smp 2,cores=2,threads=1,sockets=1 -m 2G -enable-kvm -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -device virtio-serial-pci,id=virtio-serial0,max_ports=31,bus=pci.0,addr=0x6 -chardev socket,path=/tmp/tt0,server,nowait,id=chardev0 -device virtserialport,chardev=chardev0,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port0

2. boot the guest on dst RHEL7.1 host using "-incoming tcp:0:5800"

3. Feed a lot data to the serial device on src RHEL7.2 host:
# cat a.txt | nc -U /tmp/tt0

4. Do same operation on dst RHEL7.1 host:
# cat a.txt | nc -U /tmp/tt0

5. Do migration from 7.2 to 7.1
(qemu) migrate -d tcp:10.66.106.84:5800

Actual results:
after step5, the migation can be finished. after migration, I can do ping operation inside guest and can restart/shutdown the guest.

Comment 13 juzhang 2015-07-20 09:11:45 UTC
Hi Huding,

Could you have a look comment12?

Best Regards,
Junyi

Comment 16 huiqingding 2015-08-18 02:37:41 UTC
Thanks Dave for the feedback.

Reproduce this bug using the following version:
RHEL7.2 host:
qemu-kvm-rhev-2.3.0-5.el7.x86_64
kenrel-3.10.0-304.el7.x86_64

RHEL7.1 host:
qemu-kvm-rhev-2.1.2-23.el7_1.8.x86_64
kernel-3.10.0-300.el7.x86_64

1. boot a RHEL7.2 guest on RHEL7.2 host with a chardev of telnet connection
# /usr/libexec/qemu-kvm -M pc-i440fx-rhel7.1.0 -cpu SandyBridge -enable-kvm -m 2G -smp 4 -name rhel7.0 -rtc base=localtime,clock=host,driftfix=slew -uuid 6afa5f93-2d4f-420f-81c6-e5fdddbd1c83 -spice disable-ticketing,port=5931 -monitor stdio -device virtio-scsi-pci,bus=pci.0,addr=0x4,id=scsi0 -drive file=/home/rhel7.2.qcow2_bak,if=none,id=drive-scsi0-0-0,media=disk,cache=none,format=qcow2,werror=stop,rerror=stop,aio=native -device scsi-hd,drive=drive-scsi0-0-0,bus=scsi0.0,scsi-id=0,lun=0,id=sluo,bootindex=1 -qmp tcp:0:4444,server,nowait -boot menu=on -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=4e:63:28:bc:b1:25 -chardev socket,id=charserial1,host=127.0.0.1,port=4555,telnet,server,nowait -device isa-serial,chardev=charserial1,id=serial1

2. boot the guest in RHEL7.1 host with "-incoming tcp:0:5800"

3. before migation, feed the serial lots of data on src host:
# dd if=/dev/zero | nc 127.0.0.1 4555

4. inside guest, read data from serial
# od /dev/ttyS0 &
# od /dev/ttyS1 &

5. do migration
(qemu) migrate -d tcp:10.66.9.116:5800

Actual results:
migraion is failed, qemu-kvm on dst host quits with error info:
(qemu) qemu: warning: error while loading state for instance 0x0 of device 'serial'
qemu-kvm: load of migration failed: No such file or directory

Comment 17 huiqingding 2015-08-20 13:44:18 UTC
Test this bug using the following version:
RHEL7.2 host:
qemu-kvm-rhev-2.3.0-18.el7.x86_64
kenrel-3.10.0-306.el7.x86_64

RHEL7.1 host:
qemu-kvm-rhev-2.1.2-23.el7_1.8.x86_64
kernel-3.10.0-229.13.1.el7.x86_64

Do the same test as comment #16, the result is pass, migration can be finished normally.

I also test "-M rhel7.0.0" and "-M rhel6.6.0", the result is pass too.

Comment 18 juzhang 2015-08-24 02:44:21 UTC
According to comment16 and comment17, set this issue as verified.

Best Regards,
Junyi

Comment 20 errata-xmlrpc 2015-12-04 16:39:55 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-2546.html


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