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

Jason Wang
2010-12-28T12:26:07Z

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

Is there any differnce between those in current context?
Other looks good, thanks.

> 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
>
> _______________________________________________
> Autotest mailing list
> Autotest@test.kernel.org
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest