Lines Matching +full:suspend +full:- +full:to +full:- +full:ram

4  * Copyright (c) 2016-2018 Red Hat, Inc. and/or its affiliates
5 * based on the vhost-user-test.c that is:
9 * See the COPYING file in the top-level directory.
15 #include "migration-qmp.h"
16 #include "migration-util.h"
18 #include "qapi/qapi-types-migration.h"
19 #include "qapi/qapi-visit-migration.h"
23 #include "qapi/qobject-input-visitor.h"
24 #include "qapi/qobject-output-visitor.h"
28 * status changes, to avoid test suite hanging forever
29 * when things go wrong. Needs to be higher enough to
35 * Wait for a "MIGRATION" event. This is what Libvirt uses to track
55 * Convert a string representing a single channel to an object.
65 v = qobject_input_visitor_new_str(str, "channel-type", &error_abort); in migrate_str_to_channel()
112 void migrate_qmp(QTestState *who, QTestState *to, const char *uri, in migrate_qmp() argument
127 connect_uri = migrate_get_connect_uri(to); in migrate_qmp()
134 migrate_set_ports(to, channel_list); in migrate_qmp()
146 "{ 'execute': 'migrate-set-capabilities'," in migrate_set_capability()
153 void migrate_incoming_qmp(QTestState *to, const char *uri, QObject *channels, in migrate_incoming_qmp() argument
173 /* This function relies on the event to work, make sure it's enabled */ in migrate_incoming_qmp()
174 migrate_set_capability(to, "events", true); in migrate_incoming_qmp()
176 rsp = qtest_qmp(to, "{ 'execute': 'migrate-incoming', 'arguments': %p}", in migrate_incoming_qmp()
181 g_test_message("%s", s->str); in migrate_incoming_qmp()
187 migration_event_wait(to, "setup"); in migrate_incoming_qmp()
203 * completion of migration would cause the test to in check_migration_status()
258 "{ 'execute': 'query-status' }"); in wait_for_migration_fail()
266 if (!state->stop_seen) { in wait_for_stop()
273 if (!state->resume_seen) { in wait_for_resume()
280 if (state->suspend_me && !state->suspend_seen) { in wait_for_suspend()
281 qtest_qmp_eventwait(who, "SUSPEND"); in wait_for_suspend()
286 * Note: caller is responsible to free the returned object via
291 return qtest_qmp_assert_success_ref(who, "{ 'execute': 'query-migrate' }"); in migrate_query()
300 g_printerr("query-migrate shows failed migration: %s\n", in migrate_query_not_failed()
301 qdict_get_str(rsp, "error-desc")); in migrate_query_not_failed()
308 * Note: caller is responsible to free the returned object via
328 if (!qdict_haskey(rsp_return, "ram")) { in read_ram_property_int()
332 rsp_ram = qdict_get_qdict(rsp_return, "ram"); in read_ram_property_int()
352 return read_ram_property_int(who, "dirty-sync-count"); in get_migration_pass()
360 g_assert(qdict_haskey(rsp_return, "postcopy-blocktime")); in read_blocktime()
361 g_assert(qdict_haskey(rsp_return, "postcopy-vcpu-blocktime")); in read_blocktime()
362 g_assert(qdict_haskey(rsp_return, "postcopy-latency")); in read_blocktime()
363 g_assert(qdict_haskey(rsp_return, "postcopy-latency-dist")); in read_blocktime()
364 g_assert(qdict_haskey(rsp_return, "postcopy-vcpu-latency")); in read_blocktime()
365 g_assert(qdict_haskey(rsp_return, "postcopy-non-vcpu-latency")); in read_blocktime()
376 while (changes < 2 && !src_state->stop_seen && !src_state->suspend_seen) { in wait_for_migration_pass()
391 who, "{ 'execute': 'query-migrate-parameters' }"); in migrate_get_parameter_int()
410 "{ 'execute': 'migrate-set-parameters'," in migrate_set_parameter_int()
422 who, "{ 'execute': 'query-migrate-parameters' }"); in migrate_get_parameter_str()
439 "{ 'execute': 'migrate-set-parameters'," in migrate_set_parameter_str()
452 who, "{ 'execute': 'query-migrate-parameters' }"); in migrate_get_parameter_bool()
471 "{ 'execute': 'migrate-set-parameters'," in migrate_set_parameter_bool()
480 migrate_set_parameter_int(who, "max-bandwidth", 3 * 1000 * 1000); in migrate_ensure_non_converge()
481 migrate_set_parameter_int(who, "downtime-limit", 1); in migrate_ensure_non_converge()
487 migrate_set_parameter_int(who, "max-bandwidth", 1 * 1000 * 1000 * 1000); in migrate_ensure_converge()
488 migrate_set_parameter_int(who, "downtime-limit", 30 * 1000); in migrate_ensure_converge()
493 qtest_qmp_assert_success(who, "{ 'execute': 'migrate-pause' }"); in migrate_pause()
499 "{ 'execute': 'migrate-continue'," in migrate_continue()
507 "{ 'exec-oob': 'migrate-recover', " in migrate_recover()
508 " 'id': 'recover-cmd', " in migrate_recover()
518 void migrate_postcopy_start(QTestState *from, QTestState *to, in migrate_postcopy_start() argument
521 qtest_qmp_assert_success(from, "{ 'execute': 'migrate-start-postcopy' }"); in migrate_postcopy_start()
524 qtest_qmp_eventwait(to, "RESUME"); in migrate_postcopy_start()