From Fedora Project Wiki

This page provides a high-level roadmap for implementing the Is_anaconda_broken_proposal project. More detailed tasks can be found in autoqa TRAC roadmap. We follow these steps to define the methods by which we initiate testing

Step 1:Setup test enviroment

  • Virtualization
    • python-fedora installed
    • libvirt installed
    • qemu-kvm installed
    • python-virtinst installed
    • pax installed
    • service libvirtd started
  • Logging
    • service rsyslog started
    • rsyslog listening on specific port

Step 2: Identifying boot methods, preparing installation media and checking media sanity

Method Files Sanity Implementation
URL initrd.img, vmlinuz sha256sum,md5sum,version url_install/url_sanity.py
DVD DVD.iso size,sha256sum, md5sum dvd_install/dvd_sanity.py
CD 4 CD.iso size,sha256sum, md5sum cd_install/cd_sanity.py
Minimal Boot Media boot.iso size,sha256sum, md5sum bootiso_install/bootiso_sanity.py
Live live.iso size,sha256sum, md5sum live_install/live_sanity.py

Step 3: Preparing kick start file

Most of the test cases can be covered by configuring different kick start files. As the startup, the typical kick start template is choose to be implemented.

Installation Kick Start Options

Description Scripts Test Case
Partitioning autopart
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
autopart
QA:Testcase Anaconda autopart install
autopart encrypted
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
autopart  --encrypted --passphrase=redhat
QA:Testcase Anaconda autopart (encrypted) install
specify partition
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel 
# Disk partitioning information
part / --fstype="ext4" --size=3000
part /boot --fstype="ext4" --size=500
part swap --fstype="swap" --size=500
Install Source Http
repo=http://download.fedora.redhat.com/pub/fedora/linux/development/i386/os
QA/TestCases/InstallSourceHttp
Anonymous Ftp
repo=ftp://download.fedora.redhat.com/pub/fedora/linux/development/i386/os
QA/TestCases/InstallSourceFtpAnonymous
NonAnonymous Ftp
repo=ftp://USER:PASS@download.fedora.redhat.com/pub/fedora/linux/development/i386/os
QA/TestCases/InstallSourceFtpNonAnonymous

Upgrade Kick Start Options

Description Scripts Test Case
Boot loader Install new bootloader
# System bootloader configuration
bootloader --location=mbr
QA:Testcase Anaconda Upgrade New Bootloader
Do not install a bootloader
# System bootloader configuration
bootloader --location=none
QA:Testcase Anaconda Upgrade Skip Bootloader
Upgrade Exiting boot loader
# System bootloader configuration
bootloader --location=none --upgrade
QA:Testcase Anaconda Upgrade Update Bootloader

Rescure Kick Start Options List test scenarios,it will make clear that which suite needs to support.

Step 4: Creating Virt Guest

virt-install is adopted to initialize the guest. The functions to create guest with virt-install from url, DVD,ect. should be defined firstly. The following functions are defined in the class VirtGuest located in /lib/python/virtguest.py.

Method Function
URL url_create()
DVD,CD,boot.iso iso_create()


Identify potential test drivers that trigger off of those events.

Step 5 : Logging and watching the steps of installation

Get the installation output and logs at every step:

Stage Log file End label
Boot boot.log Greetings
Stage1 stage1.log Running anaconda [version], system installer - please wait
Stage2 stage2.log

Key

Set priorities for each test. The test drivers will support the tests with high priority.

Colour Explanation
yes supported and default (high priority)
yes supported (medium priority)
yes supported (low priority)
no unsupported configuration
unknown unknown

References