| Index: client/tests/kvm/tests/stress_boot.py
|
| diff --git a/client/tests/kvm/tests/stress_boot.py b/client/tests/kvm/tests/stress_boot.py
|
| index b7916b490499beca3ab75368ea40742c36502d6c..0c422c03c93413d0840512f66f38996ea6bbf23a 100644
|
| --- a/client/tests/kvm/tests/stress_boot.py
|
| +++ b/client/tests/kvm/tests/stress_boot.py
|
| @@ -1,9 +1,10 @@
|
| -import logging, time
|
| +import logging
|
| from autotest_lib.client.common_lib import error
|
| -import kvm_subprocess, kvm_test_utils, kvm_utils, kvm_preprocessing
|
| +import kvm_preprocessing
|
|
|
|
|
| -def run_stress_boot(tests, params, env):
|
| +@error.context_aware
|
| +def run_stress_boot(test, params, env):
|
| """
|
| Boots VMs until one of them becomes unresponsive, and records the maximum
|
| number of VMs successfully started:
|
| @@ -16,51 +17,37 @@ def run_stress_boot(tests, params, env):
|
| @param params: Dictionary with the test parameters
|
| @param env: Dictionary with test environment.
|
| """
|
| - # boot the first vm
|
| - vm = kvm_test_utils.get_living_vm(env, params.get("main_vm"))
|
| -
|
| - logging.info("Waiting for first guest to be up...")
|
| -
|
| + error.base_context("waiting for the first guest to be up", logging.info)
|
| + vm = env.get_vm(params["main_vm"])
|
| + vm.verify_alive()
|
| login_timeout = float(params.get("login_timeout", 240))
|
| - session = kvm_utils.wait_for(vm.remote_login, login_timeout, 0, 2)
|
| - if not session:
|
| - raise error.TestFail("Could not log into first guest")
|
| + session = vm.wait_for_login(timeout=login_timeout)
|
|
|
| num = 2
|
| sessions = [session]
|
|
|
| - # boot the VMs
|
| - while num <= int(params.get("max_vms")):
|
| - try:
|
| - # clone vm according to the first one
|
| - vm_name = "vm" + str(num)
|
| - vm_params = vm.get_params().copy()
|
| + # Boot the VMs
|
| + try:
|
| + while num <= int(params.get("max_vms")):
|
| + # Clone vm according to the first one
|
| + error.base_context("booting guest #%d" % num, logging.info)
|
| + vm_name = "vm%d" % num
|
| + vm_params = vm.params.copy()
|
| curr_vm = vm.clone(vm_name, vm_params)
|
| - kvm_utils.env_register_vm(env, vm_name, curr_vm)
|
| - logging.info("Booting guest #%d" % num)
|
| - kvm_preprocessing.preprocess_vm(tests, vm_params, env, vm_name)
|
| - params['vms'] += " " + vm_name
|
| + env.register_vm(vm_name, curr_vm)
|
| + kvm_preprocessing.preprocess_vm(test, vm_params, env, vm_name)
|
| + params["vms"] += " " + vm_name
|
|
|
| - curr_vm_session = kvm_utils.wait_for(curr_vm.remote_login,
|
| - login_timeout, 0, 2)
|
| - if not curr_vm_session:
|
| - raise error.TestFail("Could not log into guest #%d" % num)
|
| + sessions.append(curr_vm.wait_for_login(timeout=login_timeout))
|
| + logging.info("Guest #%d booted up successfully", num)
|
|
|
| - logging.info("Guest #%d boots up successfully" % num)
|
| - sessions.append(curr_vm_session)
|
| -
|
| - # check whether all previous shell sessions are responsive
|
| + # Check whether all previous shell sessions are responsive
|
| for i, se in enumerate(sessions):
|
| - if se.get_command_status(params.get("alive_test_cmd")) != 0:
|
| - raise error.TestFail("Session #%d is not responsive" % i)
|
| + error.context("checking responsiveness of guest #%d" % (i + 1),
|
| + logging.debug)
|
| + se.cmd(params.get("alive_test_cmd"))
|
| num += 1
|
| -
|
| - except (error.TestFail, OSError):
|
| - for se in sessions:
|
| - se.close()
|
| - logging.info("Total number booted: %d" % (num - 1))
|
| - raise
|
| - else:
|
| + finally:
|
| for se in sessions:
|
| se.close()
|
| logging.info("Total number booted: %d" % (num -1))
|
|
|