From Fedora Project Wiki

No edit summary
Line 48: Line 48:
* Upgrade system
* Upgrade system
# upgrade issues.  
# upgrade issues.  
# preupgrade issues.  
# preupgrade issues.
 
Auto-test will test anaconda of these media:DVD,CDROM, LiveCD,Network boot CD.If anaconda broken,typically have these issues:
* DVD install
# Boot fails from DVD
# Stage#2 can not start successfully
# Partition fails
# Reboot to newly installed system fails
# Upgrade fails
 
* CDROM install
# Fail to boot from CDROM
# Stage#2 can not start successfully
# Fail to request next CDROM
# Package errors during installation
# Reboot to newly installed system fails
 
* BootCD install
# Fail to boot from BootCD
# kickstart install fails
# Ftp install fails
# NFS install fails
# Repo is missing
# Http install fails
 
* LiveCD install
# LiveCD install fails
# Reboot to newly installed system fails


==Proposed Solution ==
==Proposed Solution ==

Revision as of 09:18, 4 December 2009


Overview

provide small auto-test system with a web-based interface which can help to customize autoinstall testing.The test system should be small enough for personal use.

Problem Space

The purpose of auto test is to simplify testing,save time, improve efficiency.So the auto-test should help us to solve the following problems:

  • the system should be small enough for personal use
  • have a very simple interface for user to customize testing or configure testing
  • very easy interface for user to set up some services due to some special cases,such as ftp/nfs/http install,etc
  • test result is easy to check

Installation process covers the following sections, therefore, brokenness comes from these types:

  • Image Sanity
  1. Error in size/Checksum
  2. Dependency problems/File Conflicts
  3. Versions check
  • Boot Methods
  1. Anaconda fails to boot
  2. Anaconda unable to transition to stage#2
  • Install Source
  1. Unable to find source
  • Kickstart Delivery
  1. Ks.cfg couldn't be obtained from specified location
  2. Install fails to proceed in accordance with the directives in the ks.cfg file
  • Package Set
  1. Process of package install doesn't complete
  2. Package errors (install.log)
  3. The specified packages aren't installed
  • Partitioning
  1. Can't prompt for an existing partition to resize
  2. Error when resizing the selected partition
  3. The installer fails to partition the system as required
  4. Encrypted partitions contain errors.
  • User Interface
  1. Unable to boot to graphical/text mode
  2. Graphical anaconda displays error in steps
  3. Anaconda doesn't start Xvnc/telnet properly
  • Recovery
  1. Rescue mode fails
  2. Anaconda doesn't prepare the updates.img
  3. Traceback errors
  • Storage Devices
  1. Fail to detect any storage device
  2. Error occurred during installation
  • Upgrade system
  1. upgrade issues.
  2. preupgrade issues.

Auto-test will test anaconda of these media:DVD,CDROM, LiveCD,Network boot CD.If anaconda broken,typically have these issues:

  • DVD install
  1. Boot fails from DVD
  2. Stage#2 can not start successfully
  3. Partition fails
  4. Reboot to newly installed system fails
  5. Upgrade fails
  • CDROM install
  1. Fail to boot from CDROM
  2. Stage#2 can not start successfully
  3. Fail to request next CDROM
  4. Package errors during installation
  5. Reboot to newly installed system fails
  • BootCD install
  1. Fail to boot from BootCD
  2. kickstart install fails
  3. Ftp install fails
  4. NFS install fails
  5. Repo is missing
  6. Http install fails
  • LiveCD install
  1. LiveCD install fails
  2. Reboot to newly installed system fails

Proposed Solution

  • use the network install(or libvirt? does it make sense to run on virtual machines? need confirmation) to finish install tests one by one.
  • provide web-based interface to customize testing.In the web page,user can specify the path of ISO,select which cases to run or not,edit(import) kickstart file or automaticly generate kickstart file after give some selected parameters (partition,packages,install method).
  • web-based interface help to setup some needed services due to some special cases. Modify,add or delete test cases,
  • Test result display page help to check the test result easily,the result format is good for testers to post to specified link(have no need to change a lot before post).
  • Write test cases From simple to complex, kickstart to graphic.

Scope

  • Any testers from community can install the testing system and run test cases
  • After finish testing,testers will post test result to specified wiki

Active Ingredients

  • develop a system to run install system
  • convert some of the current install test cases to cases which can be run in auto test system
  • Provide a test results presentation layer for manual test result submission

Roadmap

your comments

Results

Version 1.0

  • Goal: Create a basic system, make it simple and run successfully.
  • Case: DVD input and support simplest test cases.
  • Platform: Virtual Machine.
  • Inputs and Outputs:
    • Inputs: DVD, kickstart files, python (shell) scripts.
    • Outputs: Logs of whole process(including anaconda logs), test results.
  • Approach<<Fix Me>>:
  1. Create a server, and prepare DVD.iso.
  2. Create a virtual machine by the server.
  3. Run test cases using some kickstarts for install tests.
  4. Send back some logs, successful or not...
  5. Have some "results parsers" which waits for the logs from the clients and then parses them
  • Frameworks studied so far: kvm-autotest, autotest, libvirt, dogtail.

Version 2.0

  • Graphical automation testing
  1. http://www.linux-kvm.org/page/KVM-Autotest
  2. The above autotest is based on this framework: http://autotest.kernel.org/
  3. The steps to work with step files: http://www.linux-kvm.org/page/KVM-Autotest/Steps

Discussion Points

your comments

Comments?

To leave a comment, use the Talk page for this proposal.

Owner

Fedora auto-install test project

Meeting

This project meeting is held weekly for progress. Welcome everyone to attend it and give your valuable suggestions.

  • IRC on #fedora-meeting
  • Each Friday at 8:30 UTC (9:30 CET and 16:30 Bejing)