From: Peter Xu <peterx@redhat.com>
To: qemu-devel@nongnu.org
Cc: peterx@redhat.com, Prasad Pandit <ppandit@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
Fabiano Rosas <farosas@suse.de>, Het Gala <het.gala@nutanix.com>
Subject: [PULL 01/26] tests/qtest/migration: Add 'to' object into migrate_qmp()
Date: Tue, 23 Apr 2024 18:37:48 -0400 [thread overview]
Message-ID: <20240423223813.3237060-2-peterx@redhat.com> (raw)
In-Reply-To: <20240423223813.3237060-1-peterx@redhat.com>
From: Het Gala <het.gala@nutanix.com>
Add the 'to' object into migrate_qmp(), so we can use
migrate_get_socket_address() inside migrate_qmp() to get
the port value. This is not applied to other migrate_qmp*
because they don't need the port.
Signed-off-by: Het Gala <het.gala@nutanix.com>
Suggested-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240312202634.63349-2-het.gala@nutanix.com
Signed-off-by: Peter Xu <peterx@redhat.com>
---
tests/qtest/migration-helpers.h | 5 +++--
tests/qtest/migration-helpers.c | 3 ++-
tests/qtest/migration-test.c | 28 ++++++++++++++--------------
3 files changed, 19 insertions(+), 17 deletions(-)
diff --git a/tests/qtest/migration-helpers.h b/tests/qtest/migration-helpers.h
index 3bf7ded1b9..e16a34c796 100644
--- a/tests/qtest/migration-helpers.h
+++ b/tests/qtest/migration-helpers.h
@@ -25,8 +25,9 @@ typedef struct QTestMigrationState {
bool migrate_watch_for_events(QTestState *who, const char *name,
QDict *event, void *opaque);
-G_GNUC_PRINTF(3, 4)
-void migrate_qmp(QTestState *who, const char *uri, const char *fmt, ...);
+G_GNUC_PRINTF(4, 5)
+void migrate_qmp(QTestState *who, QTestState *to, const char *uri,
+ const char *fmt, ...);
G_GNUC_PRINTF(3, 4)
void migrate_incoming_qmp(QTestState *who, const char *uri,
diff --git a/tests/qtest/migration-helpers.c b/tests/qtest/migration-helpers.c
index e451dbdbed..b6206a04fb 100644
--- a/tests/qtest/migration-helpers.c
+++ b/tests/qtest/migration-helpers.c
@@ -68,7 +68,8 @@ void migrate_qmp_fail(QTestState *who, const char *uri, const char *fmt, ...)
* Arguments are built from @fmt... (formatted like
* qobject_from_jsonf_nofail()) with "uri": @uri spliced in.
*/
-void migrate_qmp(QTestState *who, const char *uri, const char *fmt, ...)
+void migrate_qmp(QTestState *who, QTestState *to, const char *uri,
+ const char *fmt, ...)
{
va_list ap;
QDict *args;
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index 1d2cee87ea..39c393b7d9 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -1350,7 +1350,7 @@ static int migrate_postcopy_prepare(QTestState **from_ptr,
wait_for_suspend(from, &src_state);
g_autofree char *uri = migrate_get_socket_address(to, "socket-address");
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
migrate_wait_for_dirty_mem(from, to);
@@ -1500,7 +1500,7 @@ static void postcopy_recover_fail(QTestState *from, QTestState *to)
g_assert_cmpint(ret, ==, 1);
migrate_recover(to, "fd:fd-mig");
- migrate_qmp(from, "fd:fd-mig", "{'resume': true}");
+ migrate_qmp(from, to, "fd:fd-mig", "{'resume': true}");
/*
* Make sure both QEMU instances will go into RECOVER stage, then test
@@ -1588,7 +1588,7 @@ static void test_postcopy_recovery_common(MigrateCommon *args)
* Try to rebuild the migration channel using the resume flag and
* the newly created channel
*/
- migrate_qmp(from, uri, "{'resume': true}");
+ migrate_qmp(from, to, uri, "{'resume': true}");
/* Restore the postcopy bandwidth to unlimited */
migrate_set_parameter_int(from, "max-postcopy-bandwidth", 0);
@@ -1669,7 +1669,7 @@ static void test_baddest(void)
if (test_migrate_start(&from, &to, "tcp:127.0.0.1:0", &args)) {
return;
}
- migrate_qmp(from, "tcp:127.0.0.1:0", "{}");
+ migrate_qmp(from, to, "tcp:127.0.0.1:0", "{}");
wait_for_migration_fail(from, false);
test_migrate_end(from, to, false);
}
@@ -1708,7 +1708,7 @@ static void test_analyze_script(void)
uri = g_strdup_printf("exec:cat > %s", file);
migrate_ensure_converge(from);
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
wait_for_migration_complete(from);
pid = fork();
@@ -1777,7 +1777,7 @@ static void test_precopy_common(MigrateCommon *args)
goto finish;
}
- migrate_qmp(from, connect_uri, "{}");
+ migrate_qmp(from, to, connect_uri, "{}");
if (args->result != MIG_TEST_SUCCEED) {
bool allow_active = args->result == MIG_TEST_FAIL;
@@ -1873,7 +1873,7 @@ static void test_file_common(MigrateCommon *args, bool stop_src)
goto finish;
}
- migrate_qmp(from, connect_uri, "{}");
+ migrate_qmp(from, to, connect_uri, "{}");
wait_for_migration_complete(from);
/*
@@ -2029,7 +2029,7 @@ static void test_ignore_shared(void)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
migrate_wait_for_dirty_mem(from, to);
@@ -2568,7 +2568,7 @@ static void do_test_validate_uuid(MigrateStart *args, bool should_fail)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
if (should_fail) {
qtest_set_expected_status(to, EXIT_FAILURE);
@@ -2671,7 +2671,7 @@ static void test_migrate_auto_converge(void)
/* Wait for the first serial output from the source */
wait_for_serial("src_serial");
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
/* Wait for throttling begins */
percentage = 0;
@@ -3040,7 +3040,7 @@ static void test_multifd_tcp_cancel(void)
uri = migrate_get_socket_address(to, "socket-address");
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
migrate_wait_for_dirty_mem(from, to);
@@ -3072,7 +3072,7 @@ static void test_multifd_tcp_cancel(void)
migrate_ensure_non_converge(from);
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to2, uri, "{}");
migrate_wait_for_dirty_mem(from, to2);
@@ -3405,7 +3405,7 @@ static void test_migrate_dirty_limit(void)
migrate_dirty_limit_wait_showup(from, dirtylimit_period, dirtylimit_value);
/* Start migrate */
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
/* Wait for dirty limit throttle begin */
throttle_us_per_full = 0;
@@ -3446,7 +3446,7 @@ static void test_migrate_dirty_limit(void)
}
/* Start migrate */
- migrate_qmp(from, uri, "{}");
+ migrate_qmp(from, to, uri, "{}");
/* Wait for dirty limit throttle begin */
throttle_us_per_full = 0;
--
2.44.0
next prev parent reply other threads:[~2024-04-23 22:39 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-23 22:37 [PULL 00/26] Migration 20240423 patches Peter Xu
2024-04-23 22:37 ` Peter Xu [this message]
2024-04-23 22:37 ` [PULL 02/26] tests/qtest/migration: Replace connect_uri and move migrate_get_socket_address inside migrate_qmp Peter Xu
2024-04-23 22:37 ` [PULL 03/26] tests/qtest/migration: Replace migrate_get_connect_uri inplace of migrate_get_socket_address Peter Xu
2024-04-23 22:37 ` [PULL 04/26] tests/qtest/migration: Add channels parameter in migrate_qmp_fail Peter Xu
2024-04-23 22:37 ` [PULL 05/26] tests/qtest/migration: Add migrate_set_ports into migrate_qmp to update migration port value Peter Xu
2024-04-23 22:37 ` [PULL 06/26] tests/qtest/migration: Add channels parameter in migrate_qmp Peter Xu
2024-04-23 22:37 ` [PULL 07/26] tests/qtest/migration: Add multifd_tcp_plain test using list of channels instead of uri Peter Xu
2024-04-23 22:37 ` [PULL 08/26] tests/qtest/migration: Add negative tests to validate migration QAPIs Peter Xu
2024-04-23 22:37 ` [PULL 09/26] tests/qtest/migration: Fix typo for vsock in SocketAddress_to_str Peter Xu
2024-04-23 22:37 ` [PULL 10/26] s390/stattrib: Add Error** argument to set_migrationmode() handler Peter Xu
2024-04-23 22:37 ` [PULL 11/26] vfio: Always report an error in vfio_save_setup() Peter Xu
2024-04-23 22:37 ` [PULL 12/26] migration: Always report an error in block_save_setup() Peter Xu
2024-04-23 22:38 ` [PULL 13/26] migration: Always report an error in ram_save_setup() Peter Xu
2024-04-23 22:38 ` [PULL 14/26] migration: Add Error** argument to vmstate_save() Peter Xu
2024-04-23 22:38 ` [PULL 15/26] migration: Add Error** argument to qemu_savevm_state_setup() Peter Xu
2024-04-23 22:38 ` [PULL 16/26] migration: Add Error** argument to .save_setup() handler Peter Xu
2024-04-23 22:38 ` [PULL 17/26] migration: Add Error** argument to .load_setup() handler Peter Xu
2024-04-23 22:38 ` [PULL 18/26] memory: Add Error** argument to .log_global_start() handler Peter Xu
2024-04-23 22:38 ` [PULL 19/26] migration: Introduce ram_bitmaps_destroy() Peter Xu
2024-04-23 22:38 ` [PULL 20/26] memory: Add Error** argument to the global_dirty_log routines Peter Xu
2024-04-23 22:38 ` [PULL 21/26] migration: Add Error** argument to ram_state_init() Peter Xu
2024-04-23 22:38 ` [PULL 22/26] migration: Add Error** argument to xbzrle_init() Peter Xu
2024-04-23 22:38 ` [PULL 23/26] migration: Modify ram_init_bitmaps() to report dirty tracking errors Peter Xu
2024-04-23 22:38 ` [PULL 24/26] migration: Add Error** argument to add_bitmaps_to_list() Peter Xu
2024-04-23 22:38 ` [PULL 25/26] migration/multifd: solve zero page causing multiple page faults Peter Xu
2024-04-23 22:38 ` [PULL 26/26] migration/colo: Fix bdrv_graph_rdlock_main_loop: Assertion `!qemu_in_coroutine()' failed Peter Xu
2024-04-24 6:50 ` [PULL 00/26] Migration 20240423 patches Richard Henderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240423223813.3237060-2-peterx@redhat.com \
--to=peterx@redhat.com \
--cc=farosas@suse.de \
--cc=het.gala@nutanix.com \
--cc=peter.maydell@linaro.org \
--cc=ppandit@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).