Overview
The purpose of AutoQA installation test automation is to simplify testing and improve test efficiency. The AutoQA install test project should address the following problems:
- The system should be easy to allow for tester and developer use
- Have clear documentation for customizing and creating new tests
- Support test execution using existing Fedora infrastructure services, but not require them
- Test results are easy to verify
Scope
The Fedora installation test automation project covers the whole installation from retrieving installation media to first boot. Details are below:
- retrieve installation media
- Installation media sanity check
- Install with different system specifications, installation sources and partition etc.
- get the installation output and logs.
Problem Space
The Fedora installer is a complicated software application that often requires significant setup time to properly and efficiently test. Installer failures typically come from the following areas:
Image Sanity
- ISO file size is too large
- Invalid SHA256 checksum
- Invalid implanted ISO md5sum
- Install environment - anaconda has specific application, library and config file format requirements.
- Versions check
Boot Methods
- Boot media improperly built (PXE, boot.iso, DVD, efidisk.img)
- Installer fails to boot as a KVM guest
- Installer fails to boot as a XEN guest
Install Source
- Unable to detect install.img media
- Unable to transition to stage#2 installer
Kickstart Delivery
- Ks.cfg could not be obtained from specified location (http, ftp, nfs, hd, initrd)
- Install fails to proceed in accordance with the directives in the ks.cfg file
- Install improperly sets up networking based on command-line and kickstart network parameters (boot with
ksdevice=eth1
,ks.cfg
containseth2
)
User Interface
- X driver problems while transitioning to graphical install
- Screen corruption during text-mode install
- VNC fails to start
- Serial console redirection improperly setup
Storage Devices
- Fail to detect existing storage device(s)
- Failure to clear stale data off of existing devices
- Unable to add iSCSI volumes
Partitioning
- Failure detecting existing partition scheme (lvm, mdraid, dmraid, luks)
- Failure when attempting to resize existing partitions
- Failures while attempting to re-use existing partitions
- Improperly clearing stale information from disks
- Unable to consistently resize an existing filesystem
- General failures while attempting to manually partition a system
Package Repository
- Unable to read metadata from package repositories (http, ftp, nfs, media)
- Failures while adding or modifying existing package repositories
Package Set
- Network timeout while retrieving packages
- Dependency problems while resolving package list
- File conflicts during package install
- Package order and install errors in
install.log
- Improperly formatted
comps.xml
data
Boot loader configuration
- Unable to properly detect other operating systems
- Failure while setting up chainloader for another OS
Upgrade system
- Failure to detect previously installed systems
- Errors while attempting to update bootloader configuration during upgrade
- Package upgrade errors in
upgrade.log
Recovery
- Rescue mode fails to detect existing installations (lvm, raid, luks)
- Rescue mode fails to establish networking
- Problems saving traceback information (local disk, bugzilla, remote server)
- Anaconda unable to download and use updates.img (from install source, local media or URL)
- Unable to transition to debug mode
Proposed Solution
The project will be developed based on the AutoQA framework and use the virtualization environment (libvirt,kvm-qemu). The installation automation will be deployed by the Fedora kickstart installation. virt-install will be used to create the guest.virtio is used to get the anaconda logs. The details can be found at Is anaconda broken solution
Active Ingredients
- AutoQA must be packaged and available in Fedora infrastructure
- A valid backend test harness is packaged and available in Fedora infrastructure (Autotest currently being used by AutoQA)
- Knowledge of TurboGears or TurboGears2
- A new AutoQA test watcher may be required to initiate automated tests whenever CD and DVD ISO images are available for testing (post-iso-build)
- Adding installer unit test execution and results display is dependent on the availability and environmental requirements of installer unit tests
Roadmap
- Roadmap for development of auto install at:Is_anaconda_broken_roadmap
- Status for test plan/documentation changes can be seen in the fedora-qa trac system
- Status for test automation efforts is available in the autoqa TRAC system
Results
- Meeting information and logs can be found at Is_anaconda_broken_meeting
Discussion Points
- List unresolved or active discussion
Comments?
To leave a comment, use the Talk page for this proposal.
Owner
Fedora QA team
References
Other documentation:
- General libvirt home - http://libvirt.org
- Examples on using libvirt and cobbler to aid in semi-automated install testing - http://jlaska.livejournal.com/tag/cobbler
- General Autotest information
- KVM is using autotest
- GUI automation using dogtail - https://fedorahosted.org/dogtail
- GUI automation using autotest step files - http://www.linux-kvm.org/page/KVM-Autotest/Steps