- 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@xxxxxxxxxx> --- 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 -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html