1import logging, time 2from autotest_lib.client.common_lib import error 3 4def run_system_reset_bootable(test, params, env): 5 """ 6 KVM reset test: 7 1) Boot guest. 8 2) Reset system by monitor command for several times. 9 3) Log into the guest to verify it could normally boot. 10 11 @param test: kvm test object 12 @param params: Dictionary with the test parameters 13 @param env: Dictionary with test environment. 14 """ 15 vm = env.get_vm(params["main_vm"]) 16 vm.verify_alive() 17 timeout = float(params.get("login_timeout", 240)) 18 reset_times = int(params.get("reset_times",20)) 19 interval = int(params.get("reset_interval",10)) 20 wait_time = int(params.get("wait_time_for_reset",60)) 21 22 logging.info("Wait for %d seconds before reset" % wait_time) 23 time.sleep(wait_time) 24 25 for i in range(reset_times): 26 logging.info("Reset the system by monitor cmd") 27 vm.monitor.cmd("system_reset") 28 time.sleep(interval) 29 30 logging.info("Try to login guest after reset") 31 session = vm.wait_for_login(timeout=timeout) 32