Bug 559163 - migration failed host 5.5 with -M rhel5.5.0 to host 5.5 with -M rhel5.5.0.
Summary: migration failed host 5.5 with -M rhel5.5.0 to host 5.5 with -M rhel5.5.0.
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kvm
Version: 5.5
Hardware: All
OS: Linux
high
high
Target Milestone: rc
: ---
Assignee: Juan Quintela
QA Contact: Virtualization Bugs
URL:
Whiteboard: regression
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-01-27 10:50 UTC by Miya Chen
Modified: 2010-03-30 07:54 UTC (History)
7 users (show)

Fixed In Version: kvm-83-154.el5
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-03-30 07:54:22 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2010:0271 0 normal SHIPPED_LIVE Important: kvm security, bug fix and enhancement update 2010-03-29 13:19:48 UTC

Description Miya Chen 2010-01-27 10:50:38 UTC
Description of problem:


Version-Release number of selected component (if applicable):
host 5.5.0 ---kvm-83-152 (host kernel- 2.6.18-185.el5)


How reproducible:
100%

Steps to Reproduce:
1.start guest in host 5.5 with -M rhel5.5.0
# /usr/libexec/qemu-kvm -drive file=win28k-r2-ide-147.qcow2,if=ide -no-hpet
-rtc-td-hack -usbdevice tablet -startdate now -smp 2 -m 2G -net
nic,model=e1000,macaddr=20:20:20:11:23:12,vlan=0 -net
tap,vlan=0,script=/etc/qemu-ifup -cpu qemu64,+sse2 -name r2 -monitor stdio -vnc
:6 -M rhel5.5.0

2.start listening mode in local host 5.5 with -M rhel5.5.0
# /usr/libexec/qemu-kvm -drive file=win28k-r2-ide-147.qcow2,if=ide -no-hpet
-rtc-td-hack -usbdevice tablet -startdate now -smp 2 -m 2G -net
nic,model=e1000,macaddr=20:20:20:11:23:12,vlan=0 -net
tap,vlan=0,script=/etc/qemu-ifup -cpu qemu64,+sse2 -name r2 -monitor stdio -vnc
:6 -M rhel5.5.0 -incoming tcp:0:5889

3.start migration

  
Actual results:
In dest host qemu monitor:
(qemu) Unknown savevm section type 255
load of migration failed

Expected results:


Additional info:
test with another linux guest, guest reboot in dest host after migration.
cmd:
/usr/libexec/qemu-kvm -drive file=RHEL-Server-5.4-64-virtio.qcow2,if=virtio,boot=on -no-hpet -rtc-td-hack -usbdevice tablet -startdate now -smp 2 -m 2G -net nic,model=virtio,macaddr=20:20:20:11:23:16,vlan=0 -net tap,vlan=0,script=/etc/qemu-ifup -cpu qemu64,+sse2 -name 64 -monitor stdio -vnc :9 -no-kvm-pit-reinjection -M rhel5.5.0

Comment 1 Juan Quintela 2010-01-27 17:12:58 UTC
Yesterday patch to fix migration between 5.4.4 <-> 5.5.0 broke migration
between 5.5.0 <-> 5.5.0.  How did it passed my testing is still a mystery
(but that I get confused in too many terminals and tested a wrong binary
is a posibility).

Problem was that at the start at of cpu_load() we check for the valid
versions.  I forgot to update that version_id == 9 is a valid version.
Just fixed it "forever" and used a right test there.

While testing this, I found another bug on ide.  How this didn't show up
sooner is a bigger mistery(*).  Problem here was that ide did this checked
for version_id == 3 when it meaned version_id > 2 (to be future proof).

I send both for this bugzilla.  Eduardo, if you want I can create another
bugzilla for the ide one, but I think that the problem here was the combination
of the two bugs.

I tested this time:

5.5.0 -M 5.4.0 -> 5.5.0 -M 5.4.0 pass
5.5.0 -M 5.4.0 -> 5.5.0 -M 5.4.4 pass
5.5.0 -M 5.4.0 -> 5.5.0 -M 5.5.0 pass

5.5.0 -M 5.4.4 -> 5.5.0 -M 5.4.0 fail as expected
5.5.0 -M 5.4.4 -> 5.5.0 -M 5.4.4 pass
5.5.0 -M 5.4.4 -> 5.5.0 -M 5.5.0 pass

5.5.0 -M 5.5.0 -> 5.5.0 -M 5.4.0 fail as expected
5.5.0 -M 5.5.0 -> 5.5.0 -M 5.4.4 fail as expected
5.5.0 -M 5.5.0 -> 5.5.0 -M 5.5.0 pass

5.4.4 -M 5.4.0 -> 5.5.0 -M 5.4.0 pass
5.4.4 -M 5.4.0 -> 5.5.0 -M 5.4.4 pass
5.4.4 -M 5.4.0 -> 5.5.0 -M 5.5.0 pass

5.4.4 -M 5.4.4 -> 5.5.0 -M 5.4.0 fail as expected
5.4.4 -M 5.4.4 -> 5.5.0 -M 5.4.4 pass
5.4.4 -M 5.4.4 -> 5.5.0 -M 5.5.0 pass

5.5.0 -M 5.4.0 -> 5.4.4 -M 5.4.0 pass
5.5.0 -M 5.4.0 -> 5.4.4 -M 5.4.4 pass

5.5.0 -M 5.4.4 -> 5.4.4 -M 5.4.0 fail as expected
5.5.0 -M 5.4.4 -> 5.4.4 -M 5.4.4 pass

5.5.0 -M 5.5.0 -> 5.4.4 -M 5.4.0 fail as expected
5.5.0 -M 5.5.0 -> 5.4.4 -M 5.4.4 fail as expected

(And that is without testing 5.4.0 proper)

Comment 4 Miya Chen 2010-01-28 10:59:52 UTC
PASS for the following scenarios.

host 5.5.0 ---kvm-83-154
host 5.4.4 ---kvm-83-105.el5.4.19

| id | source                  | dest                    | block  | result |
| 1  | 5.5.0 with -M rhel5.4.4 | 5.4.4 with -M rhel5.4.4 | ide    | pass   |
| 2  | 5.5.0 with -M rhel5.4.4 | 5.4.4 with -M rhel5.4.4 | virtio | pass   |
| 3  | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | ide    | pass   |  	
| 4  | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | virtio | pass   |
| 5  | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.0 | ide    | pass   |	
| 6  | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.0 | virtio | pass   |	
| 7  | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | ide    | pass   |
| 8  | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | virtio | pass   |
| 9  | 5.5.0 with -M rhel5.5.0 | 5.5.0 with -M rhel5.5.0 | ide    | pass   |
| 10 | 5.5.0 with -M rhel5.5.0 | 5.5.0 with -M rhel5.5.0 | virtio | pass   |
| 11 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | ide    | pass   |
| 12 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | virtio | pass   |
| 13 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | ide    | pass   |
| 14 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | virtio | pass   |
| 15 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | ide    | pass   |
| 16 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | virtio | pass   |
| 17 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | ide    | pass   |
| 18 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | virtio | pass   |
| 19 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | ide    | pass   |
| 20 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | virtio | pass   |
| 21 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | ide    | pass   |
| 22 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | virtio | pass   |
| 23 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | ide    | pass   |
| 24 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | virtio | pass   |
| 25 | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | ide    | pass   |
| 26 | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | virtio | pass   |
| 27 | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.4 | ide    | pass   |
| 28 | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.4 | virtio | pass   |

Comment 6 Yaniv Kaul 2010-01-28 17:12:05 UTC
Were there other changes, for example in virtio-net, that should be tested as well?

Comment 7 Miya Chen 2010-01-29 05:40:31 UTC
Add nic info for comment#4:

| id | source                  | dest                    | block  | nic     | result |
| 1  | 5.5.0 with -M rhel5.4.4 | 5.4.4 with -M rhel5.4.4 | ide    | rtl8139 |  pass  |
| 2  | 5.5.0 with -M rhel5.4.4 | 5.4.4 with -M rhel5.4.4 | virtio | rtl8139 | pass   |
| 3  | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | ide    | rtl8139 | pass   |           	
| 4  | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | virtio | rtl8139 | pass   |
| 5  | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.0 | ide    | rtl8139 | pass   |	
| 6  | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.0 | virtio | rtl8139 | pass   |	
| 7  | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | ide    | rtl8139 | pass   |
| 8  | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | virtio | rtl8139 | pass   |
| 9  | 5.5.0 with -M rhel5.5.0 | 5.5.0 with -M rhel5.5.0 | ide    | rtl8139 | pass   |
| 10 | 5.5.0 with -M rhel5.5.0 | 5.5.0 with -M rhel5.5.0 | virtio | rtl8139 | pass   |
| 11 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | ide    | rtl8139 | pass   |
| 12 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.4.4 | virtio | rtl8139 | pass   |
| 13 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | ide    | rtl8139 | pass   |
| 14 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.0 | virtio | rtl8139 | pass   |
| 15 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | ide    | rtl8139 | pass   |
| 16 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | virtio | virtio  | pass   |
| 17 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | ide    | rtl8139 | pass   |
| 18 | 5.5.0 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | virtio | virtio  | pass   |
| 19 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | ide    | rtl8139 | pass   |
| 20 | 5.5.0 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | virtio | virtio  | pass   |
| 21 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | ide    | rtl8139 | pass   |
| 22 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.4.4 | virtio | virtio  | pass   |
| 23 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | ide    | rtl8139 | pass   |
| 24 | 5.4.4 with -M rhel5.4.0 | 5.5.0 with -M rhel5.5.0 | virtio | virtio  | pass   |
| 25 | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | ide    | rtl8139 | pass   |
| 26 | 5.4.4 with -M rhel5.4.4 | 5.5.0 with -M rhel5.5.0 | virtio | virtio  | pass   |
| 27 | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.4 | ide    | rtl8139 | pass   |
| 28 | 5.5.0 with -M rhel5.4.0 | 5.4.4 with -M rhel5.4.4 | virtio | virtio  | pass   |

Comment 10 errata-xmlrpc 2010-03-30 07:54:22 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2010-0271.html


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