From Fedora Project Wiki

< QA
Revision as of 20:24, 19 December 2008 by Wwoods (talk | contribs) (Design for automated installer testing)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

These are the current plans for automated testing of the installer. The specific goal is this: perform daily, basic, fully-automatic installations of Rawhide, and report the results to a public web page.

Hardware

  • One server machine with enough disk space for a local mirror of rawhide
    • Roughly 15G per arch. Ouch.
  • One test machine per arch - i386, x86_64, and ppc.
    • ppc is considered almost optional.
    • KVM/QEMU/Xen could be used on the server machine to test in virtual guests.
    • Must be PXE-capable
  • Some form of power control
    • This could be non-automated - "if the machine is dead, hit the power button".

Software

Overall design

  1. Daily rawhide compose completes. We get signal.
  2. Rawhide gets synced up.
  3. Each client machine is instructed to run koan to install the new rawhide.
    • This might happen via func or some other mechanism.
  4. A %pre script in the kickstart runs the logging client
    • Watch the following log files:
      • /tmp: anaconda.log, syslog, ks-script.log, anacdump.txt, modprobe.conf
      • /mnt/sysimage/root: install.log, upgrade.log
  5. If something fails during install
    • anacdump.txt appears, or no log data for 30min
    1. Use cobbler to change the PXE target to reinstall stable OS
    2. Use power control to restart the machine
    3. Close log task with status FAIL
  6. Otherwise: %post script in kickstart creates a service to run on firstboot
    • Send system startup logs (to be checked for errors)
    • Send signal to logging server to close task with status OK
  7. Logging server checks over collected logs for errors
    • avc errors in /var/log/messages, FAILED in /var/log/boot.log, etc.
    • Change status to WARN if found.