OSDN Git Service

tests/qtest: make more migration pre-copy scenarios run non-live
authorDaniel P. Berrangé <berrange@redhat.com>
Thu, 1 Jun 2023 16:13:46 +0000 (17:13 +0100)
committerJuan Quintela <quintela@redhat.com>
Fri, 2 Jun 2023 09:46:19 +0000 (11:46 +0200)
commit3c4fb177237a115c85c439422f08316e4b8d0d74
treee8245ed2c794516b1a21169cfce7b9b5bc573e52
parent95014994e1a5846c55ee9f1bf9ddea03ac854dc3
tests/qtest: make more migration pre-copy scenarios run non-live

There are 27 pre-copy live migration scenarios being tested. In all of
these we force non-convergence and run for one iteration, then let it
converge and wait for completion during the second (or following)
iterations. At 3 mbps bandwidth limit the first iteration takes a very
long time (~30 seconds).

While it is important to test the migration passes and convergence
logic, it is overkill to do this for all 27 pre-copy scenarios. The
TLS migration scenarios in particular are merely exercising different
code paths during connection establishment.

To optimize time taken, switch most of the test scenarios to run
non-live (ie guest CPUs paused) with no bandwidth limits. This gives
a massive speed up for most of the test scenarios.

For test coverage the following scenarios are unchanged

 * Precopy with UNIX sockets
 * Precopy with UNIX sockets and dirty ring tracking
 * Precopy with XBZRLE
 * Precopy with UNIX compress
 * Precopy with UNIX compress (nowait)
 * Precopy with multifd

On a test machine this reduces execution time from 13 minutes to
8 minutes.

Tested-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230601161347.1803440-10-berrange@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
tests/qtest/migration-test.c