From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uri Lublin Subject: Re: [PATCH][KVM-AUTOTEST][REPOST] Add ability to install custom kernel modules Date: Mon, 01 Jun 2009 21:08:28 +0300 Message-ID: <4A24191C.6080705@redhat.com> References: <1242865760-12086-1-git-send-email-mburns@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: kvm@vger.kernel.org, dhuff@redhat.com, ulublin@redhat.com To: Mike Burns Return-path: Received: from mx2.redhat.com ([66.187.237.31]:34727 "EHLO mx2.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750992AbZFASI3 (ORCPT ); Mon, 1 Jun 2009 14:08:29 -0400 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.13.8/8.13.8) with ESMTP id n51I8VDQ001733 for ; Mon, 1 Jun 2009 14:08:31 -0400 In-Reply-To: <1242865760-12086-1-git-send-email-mburns@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 05/21/2009 03:29 AM, Mike Burns wrote: > See comment in control file for details of implementation > > Signed-off-by: Mike Burns > --- > client/tests/kvm_runtest_2/control | 6 ++++++ > client/tests/kvm_runtest_2/kvm_install.py | 11 +++++++++-- > 2 files changed, 15 insertions(+), 2 deletions(-) > > diff --git a/client/tests/kvm_runtest_2/control b/client/tests/kvm_runtest_2/control > index d6e26bc..437de4c 100644 > --- a/client/tests/kvm_runtest_2/control > +++ b/client/tests/kvm_runtest_2/control > @@ -74,6 +74,12 @@ params = { > > ## Custom install > "install_script": 'custom_kvm_install.sh param1' > + > + ## Additional kernel modules to install > + ## Must be a space separated list of values > + ## Installed in the order they are listed. > + ## to install mod1.ko, mod2.ko, mod3.ko, you would set like this: > + #"additional_modules": 'mod1 mod2 mod3' > } > > # 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 392ef0c..80354f5 100755 > --- a/client/tests/kvm_runtest_2/kvm_install.py > +++ b/client/tests/kvm_runtest_2/kvm_install.py > @@ -106,7 +106,7 @@ def run_kvm_install(test, params, env): > > # load kvm modules (unless requested not to) > if params.get('load_modules', "yes") == "yes": > - __load_kvm_modules() > + __load_kvm_modules(params) > else: > kvm_log.info("user requested not to load kvm modules") > > @@ -209,7 +209,7 @@ def __install_kvm_from_local_tarball(test, srcdir, tarball): > __install_kvm(test, srcdir) > > > -def __load_kvm_modules(): > +def __load_kvm_modules(params): > kvm_log.info("Detecting CPU vendor...") > vendor = "intel" > if os.system("grep vmx /proc/cpuinfo 1>/dev/null") != 0: > @@ -237,6 +237,13 @@ def __load_kvm_modules(): > os.chdir("x86") > utils.system("/sbin/insmod ./kvm.ko&& sleep 1&& /sbin/insmod ./kvm-%s.ko" % vendor) > > + #Add additional modules specified in params by "additional_modules" > + #Modules must be named.ko and be located in the > + #same location as kvm and kvm-vendor modules > + for module in params.get("additional_modules","").split(): > + kvm_log.info("Installing module \"%s\"" % module) > + utils.system("/sbin/insmod ./%s.ko" % module ) > + > #elif self.config.load_modules == "no": > #kvm_log.info("user requested not to load kvm modules") > Hi Mike, Can you load those kernel modules before running kvm-autotest (something like a setup script) ? And clean up when the run completes (cleanup script) ? How would those modules get into the directory where kvm.ko is built. Who is in charge to unload those modules ? What happen if we have 2 consecutive runs of kvm-autotest (the second insmod would fail, wouldn't it) ? This may belong to a separate patch, but I think it's a good idea to support module-parameters for each of those modules (specifically I think of ept/npt and other params of kvm*.ko) Sorry for the late reply, Uri.