-
Bug
-
Resolution: Unresolved
-
Major
-
rhel-9.5, rhel-9.6
-
None
-
Yes
-
Moderate
-
CustomerScenariosInitiative
-
rhel-sst-virtualization
-
ssg_virtualization
-
3
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
None
-
Manual
-
-
Unspecified
-
None
Description of problem:
VM automatically reset when recover postcopy migration
Version-Release number of selected component (if applicable):
hosts info:
kernel-5.14.0-503.8.1.el9_5.x86_64 && qemu-kvm-9.0.0-10.el9_5.x86_64
How reproducible:
100%
Steps to Reproduce:
1.Boot a vm on src host;
2.Boot a vm on dst host with same qemu cmds as src host but appending "-incoming defer";
3.Load some stress in vm with stressapptest tool;
4.Enable postcopy&events capabilities on src&dst host, and set postcopy speed to 5MB on src host;
5.Set migration incoming on dst host, and start migration from src to dst host;
6.During migration is active, switch to postcopy mode;
7.During postcopy is active, down migration network on dst host;
8.After postcopy is paused, fix network issue to ensure migration recovery.
9.After network recovery, recover migration on dst and src host:
{"exec-oob":"migrate-recover", "arguments":{"uri":"tcp:$dst_host_ip:1234"}}
{"execute":"migrate", "arguments":{"uri":"tcp:$dst_host_ip:1234", "resume":true}}
Actual results:
After step 9, VM reset automatically, receive the guest reset event on the destination host qmp:
{"exec-oob":"migrate-recover", "arguments":{"uri":"tcp:192.168.130.94:1234"}} {"return": {}} {"timestamp": {"seconds": 1727429240, "microseconds": 222933}, "event": "MIGRATION", "data": {"status": "postcopy-recover"}} {"timestamp": {"seconds": 1727429240, "microseconds": 223390}, "event": "MIGRATION", "data": {"status": "postcopy-active"}} {"timestamp": {"seconds": 1727429240, "microseconds": 324416}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
Note:
Migration can complete.
Expected results:
After step 9, migration completes, and no VM reset.
Additional info:
Also hit this issue when try postcopy-preempt, but VM reset before resuming postcopy migration:
{"timestamp": {"seconds": 1727431940, "microseconds": 397526}, "event": "MIGRATION", "data": {"status": "postcopy-active"}} {"timestamp": {"seconds": 1727431940, "microseconds": 422624}, "event": "RESUME"} {"timestamp": {"seconds": 1727431962, "microseconds": 350656}, "event": "MIGRATION", "data": {"status": "postcopy-paused"}} {"timestamp": {"seconds": 1727432015, "microseconds": 984158}, "event": "WATCHDOG", "data": {"action": "reset"}} {"timestamp": {"seconds": 1727432016, "microseconds": 20728}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}} {"exec-oob":"migrate-recover", "arguments":{"uri":"tcp:192.168.130.94:1234"}} {"return": {}} {"timestamp": {"seconds": 1727432081, "microseconds": 72668}, "event": "MIGRATION", "data": {"status": "postcopy-recover"}} {"timestamp": {"seconds": 1727432081, "microseconds": 73500}, "event": "MIGRATION", "data": {"status": "postcopy-active"}}