ToDo/pseries migration compatibility
pseries migration compatibility matrix
This page tracks cross-version migration compatiblity for pseries.
Test case
The test is just to migrate a machine to another with a different qemu version.
The first machine is booted until the login prompt, and then migrated.
We check the migrated machine is responsive and login prompt appears.
No functional test is done.
The following parameters are used:
-L /usr/share/qemu-kvm/ \ -machine $MACHINE,accel=kvm,usb=off -m 2048 -realtime mlock=off \ -smp 1 \ -chardev stdio,id=conmon,mux=on,signal=off \ -mon conmon \ -device spapr-vty,chardev=conmon \ -nodefaults \ -rtc base=localtime,clock=host \ -boot strict=on \ -msg timestamp=on \ -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3 \ -usb \ -netdev bridge,id=hostnet1,br=virbr0 \ -device virtio-net-pci,id=net1,netdev=hostnet1,mac=52:54:00:22:ab:40, \ -device virtio-blk-pci,id=blk0,drive=drive-blk0 \ -device spapr-vscsi,id=scsi0,reg=0x2000 \ -device virtio-scsi-pci,id=scsi1 \ -drive file=$IMAGE,if=none,id=drive-blk0,format=qcow2,cache=none,snapshot=on \ -vga std -g 1680x1050 \ -vnc :1$INDEX \ -cdrom /home/lvivier/ISO/cdrom.iso \ -boot c \
MACHINE is one of: pseries-2.2, pseries-2.3, pseries-2.4, pseries-2.5, pseries-2.6
Test results
master is "b527c9b qcow2: Write full header on image creation"
pseries-2.2
from/to | qemu-2.2.0 | qemu-2.2.1 | qemu-2.3.0 | qemu-2.3.1 | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.2.0 | E1 | E1 | E1 | E1 | E2 | E2 | E2 | E2 |
qemu-2.2.1 | E1 | E1 | E1 | E1 | E2 | E2 | E2 | E2 |
qemu-2.3.0 | E3 | E3 | OK | OK | E2 | E2 | E2 | E2 |
qemu-2.3.1 | E3 | E3 | OK | OK | E2 | E2 | E2 | E2 |
qemu-2.4.0 | E4 | E4 | E4 | E4 | OK | OK | OK | OK |
qemu-2.4.1 | E4 | E4 | E4 | E4 | OK | OK | OK | OK |
qemu-2.5.0 | E4 | E4 | E4 | E4 | OK | OK | OK | OK |
qemu-master | E4 | E4 | E4 | E4 | OK | OK | OK | OK |
E1:
Error writing KVM hash table: Invalid argument qemu: warning: error while loading state section id 26 load of migration failed: Operation not permitted
E2:
Configuration section missing load of migration failed: Invalid argument
E3:
qemu: warning: error while loading state for instance 0x0 of device 'cpu' load of migration failed: Invalid argument
E4:
Unknown savevm section type 7 load of migration failed: Invalid argument
pseries-2.3
from/to | qemu-2.3.0 | qemu-2.3.1 | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.3.0 | OK | OK | E2 | E2 | E2 | E2 |
qemu-2.3.1 | OK | OK | E2 | E2 | E2 | E2 |
qemu-2.4.0 | E4 | E4 | OK | OK | OK | OK |
qemu-2.4.1 | E4 | E4 | OK | OK | OK | OK |
qemu-2.5.0 | E4 | E4 | OK | OK | OK | OK |
qemu-master | E4 | E4 | OK | OK | OK | OK |
E2:
Configuration section missing load of migration failed: Invalid argument
E4:
Unknown savevm section type 7 load of migration failed: Invalid argument
pseries-2.4
from/to | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.4.0 | OK | OK | OK | OK |
qemu-2.4.1 | OK | OK | OK | OK |
qemu-2.5.0 | OK | OK | OK | OK |
qemu-master | OK | OK | OK | OK |
pseries-2.5
from/to | qemu-2.5.0 | qemu-master |
qemu-2.5.0 | OK | OK |
qemu-master | OK | OK |
pseries-2.6
from/to | qemu-master |
qemu-master | OK |
== With Fix for pseries-2.3
There is a wall that cannot be crossed for the pseries-2.3 machine between qemu-2.3 and qemu-2.4.
Greg Kurz has proposed some fixes. The following tables are the result of the tests with these patches applied.
spapr: skip configuration section during migration of older machines http://patchwork.ozlabs.org/patch/584655/
migration: allow machine to enforce configuration section migration http://patchwork.ozlabs.org/patch/584656/
Tests have only be replied with qemu-master, other results are copied from previous tables (new results are in bold).
pseries-2.2
from/to | qemu-2.2.0 | qemu-2.2.1 | qemu-2.3.0 | qemu-2.3.1 | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.2.0 | E1 | E1 | E1 | E1 | E2 | E2 | E2 | E5 |
qemu-2.2.1 | E1 | E1 | E1 | E1 | E2 | E2 | E2 | E5 |
qemu-2.3.0 | E3 | E3 | OK | OK | E2 | E2 | E2 | OK |
qemu-2.3.1 | E3 | E3 | OK | OK | E2 | E2 | E2 | OK |
qemu-2.4.0 | E4 | E4 | E4 | E4 | OK | OK | OK | OK1 |
qemu-2.4.1 | E4 | E4 | E4 | E4 | OK | OK | OK | OK1 |
qemu-2.5.0 | E4 | E4 | E4 | E4 | OK | OK | OK | OK1 |
qemu-master | E6 | E6 | OK | OK | OK1 | OK1 | OK1 | OK |
OK1:
qemu-master is started with "-machine enforce-config-section=on" or later from the QEMU monitor: qom-set /machine enforce-config-section on
E5:
error while loading state section id 26(spapr/htab) load of migration failed: Operation not permitted
E6:
warning: error while loading state for instance 0x0 of device 'cpu' load of migration failed: Invalid argument
pseries-2.3
from/to | qemu-2.3.0 | qemu-2.3.1 | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.3.0 | OK | OK | E2 | E2 | E2 | OK |
qemu-2.3.1 | OK | OK | E2 | E2 | E2 | OK |
qemu-2.4.0 | E4 | E4 | OK | OK | OK | OK1 |
qemu-2.4.1 | E4 | E4 | OK | OK | OK | OK1 |
qemu-2.5.0 | E4 | E4 | OK | OK | OK | OK1 |
qemu-master | OK | OK | OK1 | OK1 | OK1 | OK |
pseries-2.4
from/to | qemu-2.4.0 | qemu-2.4.1 | qemu-2.5.0 | qemu-master |
qemu-2.4.0 | OK | OK | OK | OK |
qemu-2.4.1 | OK | OK | OK | OK |
qemu-2.5.0 | OK | OK | OK | OK |
qemu-master | OK | OK | OK | OK |
pseries-2.5
from/to | qemu-2.5.0 | qemu-master |
qemu-2.5.0 | OK | OK |
qemu-master | OK | OK |
pseries-2.6
from/to | qemu-master |
qemu-master | OK |