(30 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
{{header|qa}} | {{header|qa}} | ||
<!-- This is the FESCo proposal template. It is not necessary that you use this template but it is encouraged that you do. It will help FESCo focus on the issue being addressed and the parts that need discussion, as well as identify the scope of the proposal. You may remove all these comment sections from your proposal. --> | <!-- This is the FESCo proposal template. It is not necessary that you use this template but it is encouraged that you do. It will help FESCo focus on the issue being addressed and the parts that need discussion, as well as identify the scope of the proposal. You may remove all these comment sections from your proposal. --> | ||
Line 6: | Line 5: | ||
== Overview == | == Overview == | ||
The purpose of AutoQA | 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 | * The system should be easy to allow for tester and developer use | ||
Line 13: | Line 12: | ||
* Test results are easy to verify | * 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: | 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 ''' | ''' Image Sanity ''' | ||
# ISO file size is too large | # ISO file size is too large | ||
# Invalid SHA256 checksum | # Invalid SHA256 checksum | ||
# Invalid implanted ISO md5sum | # Invalid implanted ISO md5sum | ||
Line 25: | Line 30: | ||
''' Boot Methods''' | ''' Boot Methods''' | ||
# Boot media improperly built (PXE, boot.iso, | # Boot media improperly built (PXE, boot.iso, DVD, efidisk.img) | ||
# Installer fails to boot as a KVM guest | # Installer fails to boot as a KVM guest | ||
# Installer fails to boot as a XEN guest | # Installer fails to boot as a XEN guest | ||
Line 86: | Line 91: | ||
== Proposed Solution == | == Proposed Solution == | ||
<!-- Describe proposed solution in detail --> | <!-- Describe proposed solution in detail --> | ||
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 == | == Active Ingredients == | ||
Line 112: | Line 100: | ||
* Knowledge of TurboGears or TurboGears2 | * 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'') | * 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 == | ||
* | * Roadmap for development of auto install at:[[Is_anaconda_broken_roadmap]] | ||
* Status for test plan/documentation changes can be seen in the [https://fedorahosted.org/fedora-qa/query?status=new&status=assigned&status=reopened&status=closed&group=status&component=Test+Review&milestone=Fedora+13&order=priority fedora-qa trac system] | |||
* Status for test automation efforts is available in the [https://fedorahosted.org/autoqa/milestone/Automate%20installation%20test%20plan autoqa TRAC system] | |||
== Results == | == Results == | ||
* Meeting information and logs can be found at [[Is_anaconda_broken_meeting]] | |||
* | |||
== Discussion Points == | == Discussion Points == | ||
Line 154: | Line 123: | ||
== References == | == References == | ||
<references/> | <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 | |||
# [[Autotest|General Autotest information]] | |||
# [http://www.linux-kvm.org/page/KVM-Autotestlinux|How 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 | |||
[[Category:Proposals]] | [[Category:Proposals]] | ||
[[Category:FAD]] | [[Category:FAD]] | ||
Latest revision as of 08:51, 16 November 2011
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