From mboxrd@z Thu Jan 1 00:00:00 1970 From: Amos Kong Subject: [Autotest PATCH] KVM-test: Check if guest bootable after reseting several times Date: Thu, 21 Apr 2011 14:47:49 +0800 Message-ID: <20110421064749.10673.63282.stgit@t> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Cc: lmr@redhat.com, kvm@vger.kernel.org To: autotest@test.kernel.org Return-path: Received: from mx1.redhat.com ([209.132.183.28]:44031 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750704Ab1DUGsF (ORCPT ); Thu, 21 Apr 2011 02:48:05 -0400 Sender: kvm-owner@vger.kernel.org List-ID: This test comes from a regression bug: Guest can not found bootable device after reseting several times by monitor command. Signed-off-by: Amos Kong --- client/tests/kvm/tests/system_reset_bootable.py | 29 +++++++++++++++++++++++ client/tests/kvm/tests_base.cfg.sample | 7 ++++++ 2 files changed, 36 insertions(+), 0 deletions(-) create mode 100755 client/tests/kvm/tests/system_reset_bootable.py diff --git a/client/tests/kvm/tests/system_reset_bootable.py b/client/tests/kvm/tests/system_reset_bootable.py new file mode 100755 index 0000000..ca9fb70 --- /dev/null +++ b/client/tests/kvm/tests/system_reset_bootable.py @@ -0,0 +1,29 @@ +import logging, time +from autotest_lib.client.common_lib import error +import kvm_test_utils + + +def run_system_reset_bootable(test, params, env): + """ + KVM reset test: + 1) Boot guest. + 2) Send some times system_reset monitor command. + 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)) + time.sleep(wait_time) + + for i in range(reset_times): + vm.monitor.cmd("system_reset") + time.sleep(interval) + + session = vm.wait_for_login(timeout=timeout) diff --git a/client/tests/kvm/tests_base.cfg.sample b/client/tests/kvm/tests_base.cfg.sample index 7333ed0..ceafebe 100644 --- a/client/tests/kvm/tests_base.cfg.sample +++ b/client/tests/kvm/tests_base.cfg.sample @@ -961,6 +961,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