Re: [PATCH][KVM-AUTOTEST][REPOST] Add ability to install custom kernel modules

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/21/2009 03:29 AM, Mike Burns wrote:
See comment in control file for details of implementation

Signed-off-by: Mike Burns<mburns@xxxxxxxxxx>
---
  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<value>.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.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux