From patchwork Tue May 12 15:34:36 2009 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Burns X-Patchwork-Id: 23279 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 n4CFYhx7029646 for ; Tue, 12 May 2009 15:34:44 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753133AbZELPek (ORCPT ); Tue, 12 May 2009 11:34:40 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752053AbZELPej (ORCPT ); Tue, 12 May 2009 11:34:39 -0400 Received: from mx1.redhat.com ([66.187.233.31]:48857 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752160AbZELPej (ORCPT ); Tue, 12 May 2009 11:34:39 -0400 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id n4CFYdxs021376 for ; Tue, 12 May 2009 11:34:39 -0400 Received: from mburns.csb (vpn-10-67.bos.redhat.com [10.16.10.67]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id n4CFYaOd027483; Tue, 12 May 2009 11:34:37 -0400 Received: by mburns.csb (Postfix, from userid 13432) id 75142A8486; Tue, 12 May 2009 11:34:36 -0400 (EDT) From: Mike Burns To: kvm@vger.kernel.org Cc: ulublin@redhat.com, Michael Burns Subject: [PATCH][KVM-AUTOTEST] Add custom install option for kvm_install Date: Tue, 12 May 2009 11:34:36 -0400 Message-Id: <1242142476-2878-1-git-send-email-mburns@redhat.com> X-Scanned-By: MIMEDefang 2.58 on 172.16.52.254 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org From: Michael Burns Signed-off-by: Michael Burns --- client/tests/kvm_runtest_2/control | 18 +++++++++++++++++- client/tests/kvm_runtest_2/kvm_install.py | 15 +++++++++++++++ 2 files changed, 32 insertions(+), 1 deletions(-) diff --git a/client/tests/kvm_runtest_2/control b/client/tests/kvm_runtest_2/control index fd68e94..d6e26bc 100644 --- a/client/tests/kvm_runtest_2/control +++ b/client/tests/kvm_runtest_2/control @@ -41,6 +41,19 @@ link_if_not_exist(pwd, qemu_img, 'qemu-img') # --------------------- # Build and install kvm +# +# Details of Install options +# Mode: custom +# Description: install from custom install script +# Parameters needed: +# install_script: +# location of script relative to the kvm-runtest_2 directory. +# Script will be executed from test.bindir (generally kvm_runtest_2) +# parameters for the script can be passed either as environment variables +# in the params array below or in the definition of install_script. +# If they are passed as part of params, then they will be accessible as +# KVM_INSTALL_ in the OS Environment when your script runs. +# # --------------------- params = { "name": "kvm_install", @@ -57,7 +70,10 @@ params = { ## Install from git "git_repo": 'git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git', - "user_git_repo": 'git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git' + "user_git_repo": 'git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git', + + ## Custom install + "install_script": 'custom_kvm_install.sh param1' } # Comment the job.run_test line if you do not want to install kvm on the host. diff --git a/client/tests/kvm_runtest_2/kvm_install.py b/client/tests/kvm_runtest_2/kvm_install.py index 8be5a93..234c77a 100755 --- a/client/tests/kvm_runtest_2/kvm_install.py +++ b/client/tests/kvm_runtest_2/kvm_install.py @@ -77,6 +77,21 @@ def run_kvm_install(test, params, env): elif install_mode == "localsrc": __install_kvm(test, srcdir) + # install from custom script + elif install_mode == "custom": + install_script = params.get("install_script") + script = os.path.join(test.bindir,install_script) + if not install_script: + message = "Custom script filename not specified" + kvm_log.error(message) + raise error.TestError, message + for k in params.keys(): + kvm_log.info("Adding KVM_INSTALL_%s to Environment" % (k)) + os.putenv("KVM_INSTALL_%s" % (k), str(params[k])) + kvm_log.info("Running " + script + " to install kvm") + os.system("cd %s; %s" % (test.bindir, script)) + kvm_log.info("Completed %s" % (script)) + # invalid installation mode else: message = "Invalid installation mode: '%s'" % install_mode