new file mode 100755
@@ -0,0 +1,31 @@
+import logging, time
+from autotest_lib.client.common_lib import error
+
+def run_system_reset_bootable(test, params, env):
+ """
+ KVM reset test:
+ 1) Boot guest.
+ 2) Reset system by monitor command for several times.
+ 3) Log into the guest to verify it could normally boot.
+
+ @param test: kvm test object
+ @param params: Dictionary with the test parameters
+ @param env: Dictionary with test environment.
+ """
+ vm = env.get_vm(params["main_vm"])
+ vm.verify_alive()
+ timeout = float(params.get("login_timeout", 240))
+ reset_times = int(params.get("reset_times",20))
+ interval = int(params.get("reset_interval",10))
+ wait_time = int(params.get("wait_time_for_reset",60))
+
+ logging.info("Wait for %d seconds before reset" % wait_time)
+ time.sleep(wait_time)
+
+ for i in range(reset_times):
+ logging.info("Reset the system by monitor cmd")
+ vm.monitor.cmd("system_reset")
+ time.sleep(interval)
+
+ logging.info("Try to login guest after reset")
+ session = vm.wait_for_login(timeout=timeout)
@@ -962,6 +962,13 @@ variants:
sleep_before_reset = 20
kill_vm_on_error = yes
+ - system_reset_bootable:
+ type = system_reset_bootable
+ interval = 1
+ reset_times = 20
+ wait_time_for_reset = 120
+ kill_vm_on_error = yes
+
- shutdown: install setup unattended_install.cdrom
type = shutdown
shutdown_method = shell
This test comes from a regression bug: Guest can not found bootable device after reseting several times by monitor command. https://bugzilla.redhat.com/show_bug.cgi?id=531026 Changes from v1: - add bug id to commitlog - remove unnecessary imports - add some log message Signed-off-by: Amos Kong <akong@redhat.com> --- client/tests/kvm/tests/system_reset_bootable.py | 31 +++++++++++++++++++++++ client/tests/kvm/tests_base.cfg.sample | 7 +++++ 2 files changed, 38 insertions(+), 0 deletions(-) create mode 100755 client/tests/kvm/tests/system_reset_bootable.py -- 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