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

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

 



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")
 
-- 
1.5.5.6

--
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