[email protected] writes:

> From: Nguyen Dinh Phi <[email protected]>
>
> This series adds test infrastructure and test cases for multi-hop chain
> migration, where a VM migrates from host A to B and then from B to C.
>
> The migration test TODO list mentions ping-pong migration (A→B→A) as a
> desirable scenario; the true ping-pong (A→B→A) would require the original
> source A to become a destination for the return leg.
> This is not possible: a QEMU process launched without -incoming cannot
> later accept an incoming migration stream. Instead, this series implements
> chain migration (A→B→C): B was already launched with -incoming and can
> be re-wired as the source for the next hop, while a fresh QEMU instance C
> is started as the new destination.
>
> Nguyen Dinh Phi (3):
>   tests/migration: Factor out per-process launch and setup helpers
>   tests/migration: Retrieve serial path from QTestState
>   tests/migration: Add chain (A to B to C) precopy migration tests
>
>  tests/qtest/libqtest.c                |  16 +
>  tests/qtest/libqtest.h                |   8 +
>  tests/qtest/migration/colo-tests.c    |  14 +-
>  tests/qtest/migration/cpr-tests.c     |   8 +-
>  tests/qtest/migration/framework.c     | 475 ++++++++++++++++----------
>  tests/qtest/migration/framework.h     |  21 +-
>  tests/qtest/migration/misc-tests.c    |   4 +-
>  tests/qtest/migration/precopy-tests.c |  51 ++-
>  8 files changed, 389 insertions(+), 208 deletions(-)

This has been attempted before, but we ended up not continuing the work
for other reasons. I think your ideas on the first patch are a step in
the right direction. As for the serial work, I'm not so sure we should
be adding migration-specific data into QTestState, even though the
serial is not technically exclusive to migration. I need to give it a
bit more thought.

Here are the links to the previous work (for reference, I don't have
plans to carry it forward at the moment):

Cleanups and dealing with serial: 
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/
https://lore.kernel.org/all/[email protected]/

Ping-pong test:
https://lore.kernel.org/all/[email protected]/

Reply via email to