| OLD | NEW |
| 1 import logging | 1 import logging |
| 2 from autotest_lib.client.common_lib import error | 2 from autotest_lib.client.common_lib import error |
| 3 import kvm_utils | 3 from autotest_lib.client.virt import virt_utils |
| 4 | 4 |
| 5 | 5 |
| 6 def run_kdump(test, params, env): | 6 def run_kdump(test, params, env): |
| 7 """ | 7 """ |
| 8 KVM reboot test: | 8 KVM reboot test: |
| 9 1) Log into a guest | 9 1) Log into a guest |
| 10 2) Check and enable the kdump | 10 2) Check and enable the kdump |
| 11 3) For each vcpu, trigger a crash and check the vmcore | 11 3) For each vcpu, trigger a crash and check the vmcore |
| 12 | 12 |
| 13 @param test: kvm test object | 13 @param test: kvm test object |
| (...skipping 20 matching lines...) Expand all Loading... |
| 34 | 34 |
| 35 @param vcpu: vcpu which is used to trigger a crash | 35 @param vcpu: vcpu which is used to trigger a crash |
| 36 """ | 36 """ |
| 37 session = vm.wait_for_login(timeout=timeout) | 37 session = vm.wait_for_login(timeout=timeout) |
| 38 session.cmd_output("rm -rf /var/crash/*") | 38 session.cmd_output("rm -rf /var/crash/*") |
| 39 | 39 |
| 40 logging.info("Triggering crash on vcpu %d ...", vcpu) | 40 logging.info("Triggering crash on vcpu %d ...", vcpu) |
| 41 crash_cmd = "taskset -c %d echo c > /proc/sysrq-trigger" % vcpu | 41 crash_cmd = "taskset -c %d echo c > /proc/sysrq-trigger" % vcpu |
| 42 session.sendline(crash_cmd) | 42 session.sendline(crash_cmd) |
| 43 | 43 |
| 44 if not kvm_utils.wait_for(lambda: not session.is_responsive(), 240, 0, | 44 if not virt_utils.wait_for(lambda: not session.is_responsive(), 240, 0, |
| 45 1): | 45 1): |
| 46 raise error.TestFail("Could not trigger crash on vcpu %d" % vcpu) | 46 raise error.TestFail("Could not trigger crash on vcpu %d" % vcpu) |
| 47 | 47 |
| 48 logging.info("Waiting for kernel crash dump to complete") | 48 logging.info("Waiting for kernel crash dump to complete") |
| 49 session = vm.wait_for_login(timeout=crash_timeout) | 49 session = vm.wait_for_login(timeout=crash_timeout) |
| 50 | 50 |
| 51 logging.info("Probing vmcore file...") | 51 logging.info("Probing vmcore file...") |
| 52 session.cmd("ls -R /var/crash | grep vmcore") | 52 session.cmd("ls -R /var/crash | grep vmcore") |
| 53 logging.info("Found vmcore.") | 53 logging.info("Found vmcore.") |
| 54 | 54 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 66 logging.info("Enabling kdump service...") | 66 logging.info("Enabling kdump service...") |
| 67 # the initrd may be rebuilt here so we need to wait a little more | 67 # the initrd may be rebuilt here so we need to wait a little more |
| 68 session.cmd(kdump_enable_cmd, timeout=120) | 68 session.cmd(kdump_enable_cmd, timeout=120) |
| 69 | 69 |
| 70 nvcpu = int(params.get("smp", 1)) | 70 nvcpu = int(params.get("smp", 1)) |
| 71 for i in range (nvcpu): | 71 for i in range (nvcpu): |
| 72 crash_test(i) | 72 crash_test(i) |
| 73 | 73 |
| 74 finally: | 74 finally: |
| 75 session.close() | 75 session.close() |
| OLD | NEW |