From patchwork Mon Apr 20 18:39:20 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: supriya kannery X-Patchwork-Id: 19042 Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by demeter.kernel.org (8.14.2/8.14.2) with ESMTP id n3KIk4kZ019104 for ; Mon, 20 Apr 2009 18:46:05 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756372AbZDTSqA (ORCPT ); Mon, 20 Apr 2009 14:46:00 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1756365AbZDTSp7 (ORCPT ); Mon, 20 Apr 2009 14:45:59 -0400 Received: from e23smtp07.au.ibm.com ([202.81.31.140]:37508 "EHLO e23smtp07.au.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756362AbZDTSp7 (ORCPT ); Mon, 20 Apr 2009 14:45:59 -0400 Received: from d23relay01.au.ibm.com (d23relay01.au.ibm.com [202.81.31.243]) by e23smtp07.au.ibm.com (8.13.1/8.13.1) with ESMTP id n3KIjsbm017277 for ; Tue, 21 Apr 2009 04:45:54 +1000 Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay01.au.ibm.com (8.13.8/8.13.8/NCO v9.2) with ESMTP id n3KIjsrO381352 for ; Tue, 21 Apr 2009 04:45:54 +1000 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id n3KIjsaG026419 for ; Tue, 21 Apr 2009 04:45:54 +1000 Received: from skannery.in.ibm.com ([9.124.221.110]) by d23av03.au.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id n3KIjqZD026404; Tue, 21 Apr 2009 04:45:53 +1000 Message-ID: <49ECC158.9070003@in.ibm.com> Date: Tue, 21 Apr 2009 00:09:20 +0530 From: supriya kannery User-Agent: Thunderbird 2.0.0.14 (X11/20080501) MIME-Version: 1.0 To: Uri Lublin , kvm@vger.kernel.org Subject: [KVM-AUTOTEST] [PATCH] Iterate over reboot Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org A patch for iterating over VM reboot - Supriya Kannery, LTC, IBM diff -Naurp kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.cfg.sample kvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.cfg.sample --- kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.cfg.sample 2009-04-13 17:20:56.000000000 +0530 +++ kvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.cfg.sample 2009-04-20 23:22:33.000000000 +0530 @@ -50,6 +50,7 @@ variants: reboot = yes extra_params += " -snapshot" kill_vm_on_error = yes + reboot_iterations = 1 - migrate: install setup type = migration diff -Naurp kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.py kvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.py --- kvm-autotest/client/tests/kvm_runtest_2/kvm_tests.py 2009-04-13 17:20:56.000000000 +0530 +++ kvm-autotest.mod/client/tests/kvm_runtest_2/kvm_tests.py 2009-04-20 23:28:08.000000000 +0530 @@ -31,25 +31,28 @@ def run_boot(test, params, env): kvm_log.info("Logged in") if params.get("reboot") == "yes": - session.sendline(params.get("cmd_reboot")) - kvm_log.info("Reboot command sent; waiting for guest to go down...") + iteration = int(params.get("reboot_iterations",1)) + while iteration: + session.sendline(params.get("cmd_reboot")) + kvm_log.info("Reboot command sent; waiting for guest to go down...") + + if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): + message = "Guest refuses to go down" + kvm_log.error(message) + raise error.TestFail, message + + session.close() + + kvm_log.info("Guest is down; waiting for it to go up again...") + + session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) + if not session: + message = "Could not log into guest after reboot" + kvm_log.error(message) + raise error.TestFail, message - if not kvm_utils.wait_for(lambda: not session.is_responsive(), 120, 0, 1): - message = "Guest refuses to go down" - kvm_log.error(message) - raise error.TestFail, message - - session.close() - - kvm_log.info("Guest is down; waiting for it to go up again...") - - session = kvm_utils.wait_for(vm.ssh_login, 120, 0, 2) - if not session: - message = "Could not log into guest after reboot" - kvm_log.error(message) - raise error.TestFail, message - - kvm_log.info("Guest is up again") + kvm_log.info("Guest is up again") + iteration -= 1 session.close()