[KVM-AUTOTEST PATCH 03/28] KVM test: corrections to migration_with_reboot

Michael Goldish
2010-12-27T16:01:30Z

- Use wait_for() to try remote_login() multiple times before giving up.
- Take VM parameters from vm.params, not params.

Signed-off-by: Michael Goldish <mgoldish@redhat.com>
---
client/tests/kvm/tests/migration_with_reboot.py | 26 +++++++++++-----------
1 files changed, 13 insertions(+), 13 deletions(-)

diff --git a/client/tests/kvm/tests/migration_with_reboot.py b/client/tests/kvm/tests/migration_with_reboot.py
index 5673b45..5070dbc 100644
--- a/client/tests/kvm/tests/migration_with_reboot.py
+++ b/client/tests/kvm/tests/migration_with_reboot.py
@@ -24,7 +24,7 @@ def run_migration_with_reboot(test, params, env):
password, prompt, linesep, log_filename, timeout):
"""
A version of reboot test which is safe to be called in the background as
- it only needs an vm object
+ it doesn't need a VM object.
"""
# Send a reboot command to the guest's shell
session.sendline(reboot_command)
@@ -37,12 +37,12 @@ def run_migration_with_reboot(test, params, env):
session.close()

# Try logging into the guest until timeout expires
- logging.info("Guest is down. Waiting for it to go up again, timeout %ds",
- timeout)
- session = kvm_utils.remote_login(client, address, port, username,
- password, prompt, linesep,
- log_filename, timeout)
-
+ logging.info("Guest is down. Waiting for it to go up again, timeout "
+ "%ds", timeout)
+ session = kvm_utils.wait_for(
+ lambda: kvm_utils.remote_login(client, address, port, username,
+ password, prompt, linesep,
+ log_filename), timeout, 0, 2)
if not session:
raise error.TestFail("Could not log into guest after reboot")
logging.info("Guest is up again")
@@ -53,16 +53,16 @@ def run_migration_with_reboot(test, params, env):
session = kvm_test_utils.wait_for_login(vm, timeout=timeout)

# params of reboot
- username = params.get("username", "")
- password = params.get("password", "")
- prompt = params.get("shell_prompt", "[\#\$]")
- linesep = eval("'%s'" % params.get("shell_linesep", r"\n"))
- client = params.get("shell_client")
+ username = vm.params.get("username", "")
+ password = vm.params.get("password", "")
+ prompt = vm.params.get("shell_prompt", "[\#\$]")
+ linesep = eval("'%s'" % vm.params.get("shell_linesep", r"\n"))
+ client = vm.params.get("shell_client")
address = vm.get_address(0)
port = vm.get_port(int(params.get("shell_port")))
log_filename = ("migration-reboot-%s-%s.log" %
(vm.name, kvm_utils.generate_random_string(4)))
- reboot_command = params.get("reboot_command")
+ reboot_command = vm.params.get("reboot_command")

mig_timeout = float(params.get("mig_timeout", "3600"))
mig_protocol = params.get("migration_protocol", "tcp")
--
1.7.3.3