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 "runkdump.sh". 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.log. * The test machine would be unavailable 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 partition label which does not exist. This is not ltp kdump bug.