| KDUMP TESTS AUTOMATION SUITE |
| ---------------------------- |
| |
| The kdump test automation suite helps run the kdump tests and report |
| results. The testscripts cycle through a series of crash |
| scenarios. Each test cycle does the following: |
| |
| 1. Sets up a crash scenario. |
| 2. Forces a crash. |
| 3. Kdump kernel boots and saves a vmcore. |
| 4. System reboots to 1st kernel. |
| 5. vmcore is validated and results are saved. |
| 6. After a 1 to 2 minute delay, the next crash scenario is setup and |
| run. |
| |
| The scripts make use of the crasher module for basic testing of kdump |
| and the new Linux Kernel Dump Test Module (LKDTM) for more involved |
| testing. LKDTM makes use of the kprobes infrastructure for inserting |
| crashpoints into the kernel at run-time. Thus the kernel need not be |
| patched and rebuilt.This script also tests kdump dumping on different |
| destinations like ext3, raw and network dump. |
| |
| KDUMP TEST INSTRUCTION |
| ---------------------- |
| |
| Follow the steps to setup kdump test automation suite. |
| |
| The tests are written for SuSE Linux Enterprise Server 10 (and onward |
| releases), OpenSUSE, Fedora, Debian, as well as RedHat Enterprise Linux |
| 5. Since KDUMP is supported by the above mentioned distro's the tests |
| were written and tested on them. Contribution towards supporting more |
| distributions are welcome. |
| |
| 1. Install these additional packages: |
| |
| For SLES10 or OpenSUSE Distro : |
| |
| * kernel-kdump |
| * kernel-source |
| * kexec-tools |
| * zlib-64bit-<xxx> (ppc64 only) |
| * expect (if dump to a network destination) |
| |
| For RHEL5 or Fedora distro : |
| |
| * kexec-tools |
| * kernel-devel |
| * kernel-debuginfo rpm (if using crash to verify vmcore) |
| * kernel-kdump ( only for ppc64 ) |
| * expect (if dump to a network destination) |
| |
| 2. Make sure the partition where the tests are running has space for |
| the tests results and one vmcore file (size of physical memory). |
| |
| 3. Modify configuration file runkdump.conf or copy a existing one from |
| sample/. |
| |
| 4. Run "make". Carefully check for any errors. |
| |
| Few Important points to remember: |
| |
| * If you need to stop the tests before all tests have run, run "crontab |
| -r" and "killall runkdump.sh" within 1 minute after the 1st kernel |
| reboots. Then, if you'd like to carry on tests from the point on, run |
| "crontab kdump.cron", and "./runkdump.sh". If you'd like to start tests |
| from the beginning, modify the configuration file, and set |
| "REBOOT=0". Then, "./runkdump.sh" |
| |
| * A failure is likely to occur when booting the kdump kernel. If this |
| happens, you'll need to manually reset the system so it reboots back to |
| the 1st kernel and continues on to the next test. For this reason, it's |
| best to monitor the tests from a console. If possible, setup a serial |
| console (not a must, any type of console setup will do). If using |
| minicom, enable saving of kernel messages displayed on minicom into a |
| file, by pressing ctrl+a+l on the console. Else, when it is observed |
| that the kdump kernel has failed to boot, manually copy the boot message |
| into a file to enable the debugging the cause of the hang. |
| |
| * The results are saved in |
| <kdump-test-dir>/log/<hostname>.<date-time>. The "status" file in that |
| directory shows where you are in the test run. When the "Test run |
| complete" entry appears in that file, you're done. Verbose log can be |
| found at /tmp/kdump-<date>.log. |
| |
| * The test machine would be unavailabe for any other work during the |
| period of the test run. |
| |
| * System may hang if incorrect partition information is provided for |
| dumping, like specifying a partition which does not exist, specifying a |
| parition label which does not exist. This is not ltp kdump bug. |