[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]/
