aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDr. David Alan Gilbert <dgilbert@redhat.com>2023-03-06 15:26:12 +0000
committerThomas Huth <thuth@redhat.com>2023-03-13 09:01:00 +0100
commit1bfc8dde505f1e6a92697c52aa9b09e81b54c78f (patch)
tree8c15fcf2a05b1cb39134bc996d86d903fefe1d5a /tests
parent29c8a9e31a982874ce4e2c15f2bf82d5f8dc3517 (diff)
tests/migration: Tweek auto converge limits check
Thomas found an autoconverge test failure where the migration completed before the autoconverge had kicked in. To try and avoid this again: a) Reduce the usleep in test_migrate_auto_converge so that it should exit quicker when autoconverge kicks in b) Make the loop exit immediately rather than have the sleep when it does start autoconverge, otherwise the autoconverge might succeed during the sleep. c) Reduce inc_pct so auto converge happens more slowly d) Reduce the max-bandwidth in migrate_ensure_non_converge to make the ensure more ensure. Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20230306152612.52291-1-dgilbert@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/qtest/migration-test.c19
1 files changed, 11 insertions, 8 deletions
diff --git a/tests/qtest/migration-test.c b/tests/qtest/migration-test.c
index d4ab3934ed..75d4f1d4a9 100644
--- a/tests/qtest/migration-test.c
+++ b/tests/qtest/migration-test.c
@@ -408,8 +408,8 @@ static void migrate_set_parameter_str(QTestState *who, const char *parameter,
static void migrate_ensure_non_converge(QTestState *who)
{
- /* Can't converge with 1ms downtime + 30 mbs bandwidth limit */
- migrate_set_parameter_int(who, "max-bandwidth", 30 * 1000 * 1000);
+ /* Can't converge with 1ms downtime + 3 mbs bandwidth limit */
+ migrate_set_parameter_int(who, "max-bandwidth", 3 * 1000 * 1000);
migrate_set_parameter_int(who, "downtime-limit", 1);
}
@@ -1808,7 +1808,7 @@ static void test_migrate_auto_converge(void)
* E.g., with 1Gb/s bandwith migration may pass without throttling,
* so we need to decrease a bandwidth.
*/
- const int64_t init_pct = 5, inc_pct = 50, max_pct = 95;
+ const int64_t init_pct = 5, inc_pct = 25, max_pct = 95;
if (test_migrate_start(&from, &to, uri, &args)) {
return;
@@ -1835,13 +1835,16 @@ static void test_migrate_auto_converge(void)
/* Wait for throttling begins */
percentage = 0;
- while (percentage == 0) {
+ do {
percentage = read_migrate_property_int(from, "cpu-throttle-percentage");
- usleep(100);
+ if (percentage != 0) {
+ break;
+ }
+ usleep(20);
g_assert_false(got_stop);
- }
- /* The first percentage of throttling should be equal to init_pct */
- g_assert_cmpint(percentage, ==, init_pct);
+ } while (true);
+ /* The first percentage of throttling should be at least init_pct */
+ g_assert_cmpint(percentage, >=, init_pct);
/* Now, when we tested that throttling works, let it converge */
migrate_ensure_converge(from);