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

Michael Goldish
2010-12-28T12:42:19Z

On 12/28/2010 02:25 PM, Jason Wang wrote:
> 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.

In the current context no, but there can be a difference in odd cases
such as:

vms = vm1 vm2
main_vm = vm2
password = 1234
password_vm2 = 5678

In that case params['password'] is 1234 but vm.params['password'] is
5678 (because main_vm = vm2).

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