Hi Fabiano and Peter, do not give Reviewed-by tag for this patch.
There is a small mistake here, forgot to replace NULL with
args->connect_channels while calling migrate_qmp inside
test_precopy_common.
This was not caught earlier because, in the case where channels
and uri both are absent, migrate_qmp still makes live migration
succeed.
Sending out a new patchset series - v6. Can directly review v6
patchset series.
On 12/03/24 3:23 am, Het Gala wrote:
Add a positive test to check multifd live migration but this time
using list of channels (restricted to 1) as the starting point
instead of simple uri string.
Signed-off-by: Het Gala<het.g...@nutanix.com>
Suggested-by: Fabiano Rosas<faro...@suse.de>
---
tests/qtest/migration-test.c | 30 +++++++++++++++++++++++++++---
1 file changed, 27 insertions(+), 3 deletions(-)
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index bf27766eb0..392d5d0b62 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -655,6 +655,13 @@ typedef struct {
*/
const char *connect_uri;
+ /*
+ * Optional: JSON-formatted list of src QEMU URIs. If a port is
+ * defined as '0' in any QDict key a value of '0' will be
+ * automatically converted to the correct destination port.
+ */
+ const char *connect_channels;
+
/* Optional: callback to run at start to set migration parameters */
TestMigrateStartHook start_hook;
/* Optional: callback to run at finish to cleanup */
@@ -2740,7 +2747,7 @@ test_migrate_precopy_tcp_multifd_zstd_start(QTestState
*from,
}
#endif /* CONFIG_ZSTD */
-static void test_multifd_tcp_none(void)
+static void test_multifd_tcp_uri_none(void)
{
MigrateCommon args = {
.listen_uri = "defer", @@ -2755,6 +2762,21 @@ static void test_multifd_tcp_none(void)
test_precopy_common(&args); } +static void
test_multifd_tcp_channels_none(void) +{ + MigrateCommon args = { +
.listen_uri = "defer",
+ .start_hook = test_migrate_precopy_tcp_multifd_start,
+ .live = true,
+ .connect_channels = "[ { 'channel-type': 'main',"
+ " 'addr': { 'transport': 'socket',"
+ " 'type': 'inet',"
+ " 'host': '127.0.0.1',"
+ " 'port': '0' } } ]",
+ };
+ test_precopy_common(&args);
+}
+
static void test_multifd_tcp_zlib(void)
{
MigrateCommon args = {
@@ -3664,8 +3686,10 @@ int main(int argc, char **argv)
test_migrate_dirty_limit);
}
}
- migration_test_add("/migration/multifd/tcp/plain/none",
- test_multifd_tcp_none);
+ migration_test_add("/migration/multifd/tcp/uri/plain/none",
+ test_multifd_tcp_uri_none);
+ migration_test_add("/migration/multifd/tcp/channels/plain/none",
+ test_multifd_tcp_channels_none);
migration_test_add("/migration/multifd/tcp/plain/cancel",
test_multifd_tcp_cancel);
migration_test_add("/migration/multifd/tcp/plain/zlib",
Regards,
Het Gala