Index: client/tests/kvm/tests/migration.py |
diff --git a/client/tests/kvm/tests/migration.py b/client/tests/kvm/tests/migration.py |
index d6f4b11459632b4ffc5d3031b9617e0b62eadd2b..b462e66c78034429623a4cb3c0fbbe30f6c9bd2d 100644 |
--- a/client/tests/kvm/tests/migration.py |
+++ b/client/tests/kvm/tests/migration.py |
@@ -1,6 +1,6 @@ |
import logging, time |
from autotest_lib.client.common_lib import error |
-import kvm_subprocess, kvm_test_utils, kvm_utils |
+import kvm_utils |
def run_migration(test, params, env): |
@@ -19,17 +19,20 @@ def run_migration(test, params, env): |
@param params: Dictionary with test parameters. |
@param env: Dictionary with the test environment. |
""" |
- vm = kvm_test_utils.get_living_vm(env, params.get("main_vm")) |
+ vm = env.get_vm(params["main_vm"]) |
+ vm.verify_alive() |
timeout = int(params.get("login_timeout", 360)) |
- session = kvm_test_utils.wait_for_login(vm, timeout=timeout) |
+ session = vm.wait_for_login(timeout=timeout) |
mig_timeout = float(params.get("mig_timeout", "3600")) |
mig_protocol = params.get("migration_protocol", "tcp") |
- mig_cancel = bool(params.get("mig_cancel")) |
+ mig_cancel_delay = int(params.get("mig_cancel") == "yes") * 2 |
+ offline = params.get("offline", "no") == "yes" |
+ check = params.get("vmstate_check", "no") == "yes" |
# Get the output of migration_test_command |
test_command = params.get("migration_test_command") |
- reference_output = session.get_command_output(test_command) |
+ reference_output = session.cmd_output(test_command) |
# Start some process in the background (and leave the session open) |
background_command = params.get("migration_bg_command", "") |
@@ -38,39 +41,32 @@ def run_migration(test, params, env): |
# Start another session with the guest and make sure the background |
# process is running |
- session2 = kvm_test_utils.wait_for_login(vm, timeout=timeout) |
+ session2 = vm.wait_for_login(timeout=timeout) |
try: |
check_command = params.get("migration_bg_check_command", "") |
- if session2.get_command_status(check_command, timeout=30) != 0: |
- raise error.TestError("Could not start background process '%s'" % |
- background_command) |
+ session2.cmd(check_command, timeout=30) |
session2.close() |
# Migrate the VM |
- dest_vm = kvm_test_utils.migrate(vm, env,mig_timeout, mig_protocol, |
- mig_cancel) |
+ vm.migrate(mig_timeout, mig_protocol, mig_cancel_delay, offline, check) |
# Log into the guest again |
logging.info("Logging into guest after migration...") |
- session2 = kvm_utils.wait_for(dest_vm.remote_login, 30, 0, 2) |
- if not session2: |
- raise error.TestFail("Could not log into guest after migration") |
+ session2 = vm.wait_for_login(timeout=30) |
logging.info("Logged in after migration") |
# Make sure the background process is still running |
- if session2.get_command_status(check_command, timeout=30) != 0: |
- raise error.TestFail("Could not find running background process " |
- "after migration: '%s'" % background_command) |
+ session2.cmd(check_command, timeout=30) |
# Get the output of migration_test_command |
- output = session2.get_command_output(test_command) |
+ output = session2.cmd_output(test_command) |
# Compare output to reference output |
if output != reference_output: |
logging.info("Command output before migration differs from " |
"command output after migration") |
- logging.info("Command: %s" % test_command) |
+ logging.info("Command: %s", test_command) |
logging.info("Output before:" + |
kvm_utils.format_str_for_message(reference_output)) |
logging.info("Output after:" + |
@@ -81,8 +77,7 @@ def run_migration(test, params, env): |
finally: |
# Kill the background process |
if session2 and session2.is_alive(): |
- session2.get_command_output(params.get("migration_bg_kill_command", |
- "")) |
+ session2.cmd_output(params.get("migration_bg_kill_command", "")) |
session2.close() |
session.close() |