qemu-iotests: fix 203 migration completion race
commit21794244d4e9c5f81132e4574e5bd10ef5066715
authorStefan Hajnoczi <stefanha@redhat.com>
Mon, 5 Mar 2018 15:59:26 +0000 (5 15:59 +0000)
committerMax Reitz <mreitz@redhat.com>
Fri, 9 Mar 2018 14:40:07 +0000 (9 15:40 +0100)
tree7952b5184f08ee1bb0b1fa72d3643d08db1641ea
parent39eaefcedb9af9131543e6b35386627780ac3f41
qemu-iotests: fix 203 migration completion race

There is a race between the test's 'query-migrate' QMP command after the
QMP 'STOP' event and completing the migration:

The test case invokes 'query-migrate' upon receiving 'STOP'.  At this
point the migration thread may still be in the process of completing.
Therefore 'query-migrate' can return 'status': 'active' for a brief
window of time instead of 'status': 'completed'.  This results in
qemu-iotests 203 hanging.

Solve the race by enabling the 'events' migration capability, which
causes QEMU to emit migration-specific QMP events that do not suffer
from this race condition.  Wait for the QMP 'MIGRATION' event with
'status': 'completed'.

Reported-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20180305155926.25858-1-stefanha@redhat.com
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
tests/qemu-iotests/203
tests/qemu-iotests/203.out