Signed-off-by: Mike Burns <[email protected]>
---
client/tests/kvm_runtest_2/kvm_install.py | 56 ++++++++++++++++++++++++----
1 files changed, 48 insertions(+), 8 deletions(-)
diff --git a/client/tests/kvm_runtest_2/kvm_install.py
b/client/tests/kvm_runtest_2/kvm_install.py
index 5429a65..d1aceb2 100755
--- a/client/tests/kvm_runtest_2/kvm_install.py
+++ b/client/tests/kvm_runtest_2/kvm_install.py
@@ -86,11 +86,11 @@ def run_kvm_install(test, params, env):
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")
+ 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))
+ kvm_log.info("Completed %s" % (script))
# invalid installation mode
else:
@@ -215,11 +215,11 @@ def __load_kvm_modules():
kvm_log.info("Unloading loaded KVM modules (if present)...")
#utils.system("pkill qemu 1>/dev/null 2>&1", ignore_status=True)
utils.system("pkill qemu", ignore_status=True)
- #if utils.system("grep kvm_%s /proc/modules 1>/dev/null" % vendor,
ignore_status=True) == 0:
- utils.system("/sbin/rmmod kvm_%s" % vendor, ignore_status=True)
- #if utils.system("grep kvm /proc/modules 1>/dev/null", ignore_status=True)
== 0:
- utils.system("/sbin/rmmod kvm", ignore_status=True)
+ # Remove existing modules
+ kvm_log.info("Checking KVM module")
+ __unload_modules("kvm")
+
if utils.system("grep kvm /proc/modules 1>/dev/null", ignore_status=True)
== 0:
message = "Failed to remove old KVM modules"
kvm_log.error(message)
@@ -241,6 +241,46 @@ def __load_kvm_modules():
kvm_log.error(message)
raise error.TestError, message
+
+def __unload_modules(module):
+ lsmod = os.popen("lsmod | grep \"^%s \"" % module)
+ line_parts = lsmod.readline().split()
+ if len(line_parts) == 0:
+ kvm_log.info("%s not loaded." % module)
+ else:
+ kvm_log.info("Found module %s, checking for dependecies..." %module)
+ if len(line_parts) == 4:
+ submodules = line_parts[3].split(",")
+ for submodule in submodules:
+ __unload_modules(submodule)
+ else:
+ kvm_log.info("No modules dependent on %s" % module )
+
+ kvm_log.info("Removing module: %s" % module)
+ utils.system("/sbin/modprobe -r %s" % module, ignore_status=False)
+
+
+
+ #line_count = os.popen("lsmod | grep \"^%s \" | wc -l" % module)
+ #if line_count > 0:
+ #kvm_log.info("Found module %s, checking for dependecies..." %module)
+ #dependencies = os.popen("lsmod | grep \"^%s \" | awk '{print $4}'" %
module).readline()
+ #submodules = dependencies.split(",")
+ #for submodule in submodules:
+ #__unload_modules(submodule)
+#
+ #
+ #kvm_log.info("Found module %s" % module)
+ #dependencies = os.popen("lsmod | grep \"^%s \" | awk '{print $4}'" % module)
+ #for line in dependencies.readlines():
+ #print "Line: %s" % line
+ #submodules = line.split(",")
+## for submodule in submodules:
+## __unload_modules(submodule)
+ #raise error.TestError, "Aborting..."
+ #kvm_log.info("Deleting Module %s" % module)
+ #utils.system("/sbin/modprobe -r %s" % module)
+
def __install_kvm(test, srcdir):
# create destination dir
--
1.5.5.6
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html