Lines Matching full:migration
2 * QTest testcase for migration
26 #include "migration-helpers.h"
27 #include "tests/migration/migration-test.h"
54 * from the migration guest workload.
66 #define ANALYZE_SCRIPT "scripts/analyze-migration.py"
141 #include "tests/migration/i386/a-b-bootblock.h"
142 #include "tests/migration/aarch64/a-b-kernel.h"
143 #include "tests/migration/ppc64/a-b-kernel.h"
144 #include "tests/migration/s390x/a-b-bios.h"
247 * It's tricky to use qemu's migration event capability with qtest,
294 * Wait for two changes in the migration pass count, but bail if we stop.
472 * Our goal is to ensure that we run a single full migration
476 * We can't directly synchronize with the start of a migration
480 * Initially we set the migration bandwidth to an insanely
482 * guarantees migration will never complete.
485 * so we can't let the entire migration pass run at this speed.
490 * Before migration starts, we write a 64-bit magic marker
502 * IOW, we're guaranteed at least a 2nd migration pass
505 * We can now let migration run at full speed to finish
517 * conflict with the migration workflow. in migrate_prepare_for_dirty_mem()
534 * indicator that a migration pass has made some known in migrate_wait_for_dirty_mem()
616 * created, but before the migration is started. This can
617 * be used to set migration parameters and capabilities.
626 * A hook that runs after the migration has finished,
629 * due to migration error)
660 /* Optional: callback to run at start to set migration parameters */
666 * Optional: normally we expect the migration process to complete.
673 * QEMU is expected to stay running and accept future migration
677 * migration stream, then MIG_TEST_FAIL_DEST_QUIT_ERR will indicate
687 /* The QMP command for this migration should fail with an error */
692 * Optional: set number of migration passes to wait for, if live==true.
699 * migration test. We used to always run with live but it took much
870 * Always enable migration events. Libvirt always uses it, let's try in test_migrate_start()
1528 * Manually stop the postcopy migration. This emulates a network in test_postcopy_recovery_common()
1529 * failure with the migration socket in test_postcopy_recovery_common()
1552 * from the broken migration channel; tell the destination to in test_postcopy_recovery_common()
1559 * Try to rebuild the migration channel using the resume flag and in test_postcopy_recovery_common()
1693 g_test_message("Failed to analyze the migration stream"); in test_analyze_script()
1725 * Testing non-live migration, we allow it to run at in test_precopy_common()
1768 * hanging forever if migration didn't converge in test_precopy_common()
1824 * and the migration stream starts at the right place. in file_check_offset_region()
1847 * File migration is never live. We can keep the source VM running in test_file_common()
1848 * during migration, but the destination will not be running in test_file_common()
2308 * Remove the fdsets after migration, otherwise a second migration in multifd_mapped_ram_fdset_end()
2315 * Make sure no fdsets are left after migration, otherwise a in multifd_mapped_ram_fdset_end()
2316 * second migration would fail due fdset reuse. in multifd_mapped_ram_fdset_end()
2548 /* Create two connected sockets for migration */ in test_migrate_fd_start_hook()
2558 /* Start incoming migration from the 1st socket */ in test_migrate_fd_start_hook()
2658 * UUID validation is at the begin of migration. So, the main process of in do_test_validate_uuid()
2659 * migration is not interesting for us here. Thus, set huge downtime for in do_test_validate_uuid()
2660 * very fast migration. in do_test_validate_uuid()
2733 * 'uri' and 'channels' validation is checked even before the migration in do_test_validate_uri_channel()
2794 * E.g., with 1Gb/s bandwidth migration may pass without throttling, in test_migrate_auto_converge()
2811 * Set the initial parameters so that the migration could not converge in test_migrate_auto_converge()
2902 /* Start incoming migration from the 1st socket */ in test_migrate_precopy_tcp_multifd_start_common()
3212 * migration state, and so it exits with I/O failure. in test_multifd_tcp_tls_x509_mismatch_host()
3217 * to load migration state, and thus just aborts the migration in test_multifd_tcp_tls_x509_mismatch_host()
3289 /* Start incoming migration from the 1st socket */ in test_multifd_tcp_cancel()
3308 * proceed with the setup of the next migration. The test_migrate_start() in test_multifd_tcp_cancel()
3310 * is not possible while the migration is not canceled properly. For in test_multifd_tcp_cancel()
3311 * example, setting migration capabilities when the migration is still in test_multifd_tcp_cancel()
3328 /* Start incoming migration from the 1st socket */ in test_multifd_tcp_cancel()
3627 * And see if dirty limit migration works correctly.
3638 * E.g., with 1Gb/s bandwidth migration may pass without dirty limit, in test_migrate_dirty_limit()
3646 * Thus, expected migration speed ~= bandwidth limit (< 500Mb/s). in test_migrate_dirty_limit()
3665 /* Prepare for dirty limit migration and wait src vm show up */ in test_migrate_dirty_limit()
3735 * Wait for pre-switchover status to check if migration in test_migrate_dirty_limit()
3812 tmpfs = g_dir_make_tmp("migration-test-XXXXXX", &err); in main()
3821 migration_test_add("/migration/bad_dest", test_baddest); in main()
3823 migration_test_add("/migration/analyze-script", test_analyze_script); in main()
3827 migration_test_add("/migration/precopy/unix/suspend/live", in main()
3829 migration_test_add("/migration/precopy/unix/suspend/notlive", in main()
3834 migration_test_add("/migration/postcopy/plain", test_postcopy); in main()
3835 migration_test_add("/migration/postcopy/recovery/plain", in main()
3837 migration_test_add("/migration/postcopy/preempt/plain", in main()
3839 migration_test_add("/migration/postcopy/preempt/recovery/plain", in main()
3841 migration_test_add("/migration/postcopy/recovery/double-failures/handshake", in main()
3843 migration_test_add("/migration/postcopy/recovery/double-failures/reconnect", in main()
3846 migration_test_add("/migration/postcopy/suspend", in main()
3851 migration_test_add("/migration/precopy/unix/plain", in main()
3854 migration_test_add("/migration/precopy/unix/xbzrle", in main()
3857 migration_test_add("/migration/precopy/file", in main()
3859 migration_test_add("/migration/precopy/file/offset", in main()
3862 migration_test_add("/migration/precopy/file/offset/fdset", in main()
3865 migration_test_add("/migration/precopy/file/offset/bad", in main()
3873 migration_test_add("/migration/mode/reboot", test_mode_reboot); in main()
3876 migration_test_add("/migration/precopy/file/mapped-ram", in main()
3878 migration_test_add("/migration/precopy/file/mapped-ram/live", in main()
3881 migration_test_add("/migration/multifd/file/mapped-ram", in main()
3883 migration_test_add("/migration/multifd/file/mapped-ram/live", in main()
3886 migration_test_add("/migration/multifd/file/mapped-ram/dio", in main()
3890 migration_test_add("/migration/multifd/file/mapped-ram/fdset", in main()
3892 migration_test_add("/migration/multifd/file/mapped-ram/fdset/dio", in main()
3897 migration_test_add("/migration/precopy/unix/tls/psk", in main()
3906 migration_test_add("/migration/postcopy/tls/psk", in main()
3908 migration_test_add("/migration/postcopy/recovery/tls/psk", in main()
3910 migration_test_add("/migration/postcopy/preempt/tls/psk", in main()
3912 migration_test_add("/migration/postcopy/preempt/recovery/tls/psk", in main()
3916 migration_test_add("/migration/precopy/unix/tls/x509/default-host", in main()
3918 migration_test_add("/migration/precopy/unix/tls/x509/override-host", in main()
3923 migration_test_add("/migration/precopy/tcp/plain", test_precopy_tcp_plain); in main()
3925 migration_test_add("/migration/precopy/tcp/plain/switchover-ack", in main()
3929 migration_test_add("/migration/precopy/tcp/tls/psk/match", in main()
3931 migration_test_add("/migration/precopy/tcp/tls/psk/mismatch", in main()
3934 migration_test_add("/migration/precopy/tcp/tls/x509/default-host", in main()
3936 migration_test_add("/migration/precopy/tcp/tls/x509/override-host", in main()
3938 migration_test_add("/migration/precopy/tcp/tls/x509/mismatch-host", in main()
3940 migration_test_add("/migration/precopy/tcp/tls/x509/friendly-client", in main()
3942 migration_test_add("/migration/precopy/tcp/tls/x509/hostile-client", in main()
3944 migration_test_add("/migration/precopy/tcp/tls/x509/allow-anon-client", in main()
3946 migration_test_add("/migration/precopy/tcp/tls/x509/reject-anon-client", in main()
3951 /* migration_test_add("/migration/ignore_shared", test_ignore_shared); */ in main()
3953 migration_test_add("/migration/precopy/fd/tcp", in main()
3955 migration_test_add("/migration/precopy/fd/file", in main()
3958 migration_test_add("/migration/validate_uuid", test_validate_uuid); in main()
3959 migration_test_add("/migration/validate_uuid_error", in main()
3961 migration_test_add("/migration/validate_uuid_src_not_set", in main()
3963 migration_test_add("/migration/validate_uuid_dst_not_set", in main()
3965 migration_test_add("/migration/validate_uri/channels/both_set", in main()
3967 migration_test_add("/migration/validate_uri/channels/none_set", in main()
3973 migration_test_add("/migration/auto_converge", in main()
3977 migration_test_add("/migration/dirty_limit", in main()
3981 migration_test_add("/migration/multifd/tcp/uri/plain/none", in main()
3983 migration_test_add("/migration/multifd/tcp/channels/plain/none", in main()
3985 migration_test_add("/migration/multifd/tcp/plain/zero-page/legacy", in main()
3987 migration_test_add("/migration/multifd/tcp/plain/zero-page/none", in main()
3989 migration_test_add("/migration/multifd/tcp/plain/cancel", in main()
3991 migration_test_add("/migration/multifd/tcp/plain/zlib", in main()
3994 migration_test_add("/migration/multifd/tcp/plain/zstd", in main()
3998 migration_test_add("/migration/multifd/tcp/plain/qatzip", in main()
4002 migration_test_add("/migration/multifd/tcp/plain/qpl", in main()
4006 migration_test_add("/migration/multifd/tcp/plain/uadk", in main()
4010 migration_test_add("/migration/multifd/tcp/tls/psk/match", in main()
4012 migration_test_add("/migration/multifd/tcp/tls/psk/mismatch", in main()
4015 migration_test_add("/migration/multifd/tcp/tls/x509/default-host", in main()
4017 migration_test_add("/migration/multifd/tcp/tls/x509/override-host", in main()
4019 migration_test_add("/migration/multifd/tcp/tls/x509/mismatch-host", in main()
4021 migration_test_add("/migration/multifd/tcp/tls/x509/allow-anon-client", in main()
4023 migration_test_add("/migration/multifd/tcp/tls/x509/reject-anon-client", in main()
4029 migration_test_add("/migration/dirty_ring", in main()
4032 migration_test_add("/migration/vcpu_dirty_limit", in main()