On Mon, Mar 8, 2010 at 10:58 PM, Lucas Meneghel Rodrigues
<l...@redhat.com> wrote:
> Some guests may take longer to boot/reboot in some hosts,
> so let's expose the boot and reboot timeouts in the tests
> config file. Also, print the timeouts on the debug
Fine. It seems we missed it during the major development cycle. We
faced this situation when we were having kvm_autotest git. The patch
that I sent was merged. This patch makes perfect sense for cases like
stress boot, slow machines, highly loaded machines etc.

> messages.
>
> Signed-off-by: Lucas Meneghel Rodrigues <l...@redhat.com>
> ---
>  client/tests/kvm/kvm_test_utils.py     |   13 +++++++------
>  client/tests/kvm/tests/boot.py         |   10 ++++++----
>  client/tests/kvm/tests_base.cfg.sample |    2 ++
>  3 files changed, 15 insertions(+), 10 deletions(-)
>
> diff --git a/client/tests/kvm/kvm_test_utils.py 
> b/client/tests/kvm/kvm_test_utils.py
> index 7d96d6e..564ff35 100644
> --- a/client/tests/kvm/kvm_test_utils.py
> +++ b/client/tests/kvm/kvm_test_utils.py
> @@ -53,7 +53,7 @@ def wait_for_login(vm, nic_index=0, timeout=240, start=0, 
> step=2):
>     @param timeout: Time to wait before giving up.
>     @return: A shell session object.
>     """
> -    logging.info("Trying to log into guest '%s'..." % vm.name)
> +    logging.info("Trying to log into guest '%s', timeout %ds", vm.name, 
> timeout)
>     session = kvm_utils.wait_for(lambda: vm.remote_login(nic_index=nic_index),
>                                  timeout, start, step)
>     if not session:
> @@ -80,16 +80,16 @@ def reboot(vm, session, method="shell", 
> sleep_before_reset=10, nic_index=0,
>     if method == "shell":
>         # Send a reboot command to the guest's shell
>         session.sendline(vm.get_params().get("reboot_command"))
> -        logging.info("Reboot command sent; waiting for guest to go down...")
> +        logging.info("Reboot command sent. Waiting for guest to go down")
>     elif method == "system_reset":
>         # Sleep for a while before sending the command
>         time.sleep(sleep_before_reset)
>         # Send a system_reset monitor command
>         vm.send_monitor_cmd("system_reset")
> -        logging.info("system_reset monitor command sent; waiting for guest 
> to "
> -                     "go down...")
> +        logging.info("Monitor command system_reset sent. Waiting for guest 
> to "
> +                     "go down")
>     else:
> -        logging.error("Unknown reboot method: %s" % method)
> +        logging.error("Unknown reboot method: %s", method)
>
>     # Wait for the session to become unresponsive and close it
>     if not kvm_utils.wait_for(lambda: not session.is_responsive(timeout=30),
> @@ -98,7 +98,8 @@ def reboot(vm, session, method="shell", 
> sleep_before_reset=10, nic_index=0,
>     session.close()
>
>     # Try logging into the guest until timeout expires
> -    logging.info("Guest is down; waiting for it to go up again...")
> +    logging.info("Guest is down. Waiting for it to go up again, timeout %ds",
> +                 timeout)
>     session = kvm_utils.wait_for(lambda: vm.remote_login(nic_index=nic_index),
>                                  timeout, 0, 2)
>     if not session:
> diff --git a/client/tests/kvm/tests/boot.py b/client/tests/kvm/tests/boot.py
> index cd1f1d4..9b3f392 100644
> --- a/client/tests/kvm/tests/boot.py
> +++ b/client/tests/kvm/tests/boot.py
> @@ -16,7 +16,9 @@ def run_boot(test, params, env):
>     @param env: Dictionary with test environment.
>     """
>     vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
> -    session = kvm_test_utils.wait_for_login(vm)
> +    session = kvm_test_utils.wait_for_login(vm, 0,
> +                                         float(params.get("boot_timeout", 
> 240)),
> +                                         0, 2)
>
>     try:
>         if not params.get("reboot_method"):
> @@ -24,9 +26,9 @@ def run_boot(test, params, env):
>
>         # Reboot the VM
>         session = kvm_test_utils.reboot(vm, session,
> -                                        params.get("reboot_method"),
> -                                        
> float(params.get("sleep_before_reset",
> -                                                         10)))
> +                                    params.get("reboot_method"),
> +                                    float(params.get("sleep_before_reset", 
> 10)),
> +                                    0, float(params.get("reboot_timeout", 
> 240)))
>
>     finally:
>         session.close()
> diff --git a/client/tests/kvm/tests_base.cfg.sample 
> b/client/tests/kvm/tests_base.cfg.sample
> index 040d0c3..340b0c0 100644
> --- a/client/tests/kvm/tests_base.cfg.sample
> +++ b/client/tests/kvm/tests_base.cfg.sample
> @@ -75,11 +75,13 @@ variants:
>         type = boot
>         restart_vm = yes
>         kill_vm_on_error = yes
> +        boot_timeout = 240
>
>     - reboot:       install setup unattended_install
>         type = boot
>         reboot_method = shell
>         kill_vm_on_error = yes
> +        reboot_timeout = 240
>
>     - migrate:      install setup unattended_install
>         type = migration
> --
> 1.6.6.1
>
> _______________________________________________
> Autotest mailing list
> autot...@test.kernel.org
> http://test.kernel.org/cgi-bin/mailman/listinfo/autotest
>



-- 
Sudhir Kumar
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to