From Fedora Project Wiki

No edit summary
 
(28 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Test Environment ==
== Step 1:Setup test enviroment ==
* Virtualization
* Virtualization
** python-fedora installed
** python-fedora installed
Line 8: Line 7:
** pax installed
** pax installed
** service libvirtd started
** service libvirtd started
* Virtual disk (required for hd installation and ks hosted on hd)
** libguestfs installed
** python-libguestfs installed


* Interaction with Desktop
* Interaction with Desktop
** Linux Desktop Test Project (LDTP)
** Linux Desktop Test Project (LDTP)[[http://ldtp.freedesktop.org/wiki/]]
*** ldtp installed
*** python-ldtp installed
** dogtail
** dogtail


*Logging
*Logging
** service rsyslog started
** service rsyslog started on host
** rsyslog listening on specific port
** rsyslog listening on specific port on host
 
== Step 2: Identifying boot methods, preparing installation media and checking media sanity==
{| class="wikitable"
! Method!! Files !! Sanity !! Implementation
|-
| style="background-color:green;" |URL
| style="background-color:green;" |initrd.img, vmlinuz
| style="background-color:green;" |sha256sum,md5sum,version
| style="background-color:green;" |url_install/url_sanity.py
|-
| style="background-color:#66FF00;" |DVD
| style="background-color:#66FF00;" |DVD.iso
| style="background-color:#66FF00;" |size,sha256sum, md5sum
| style="background-color:#66FF00;" |dvd_install/dvd_sanity.py
|-
| CD
| 4 CD.iso
| size,sha256sum, md5sum
| cd_install/cd_sanity.py
|-
| style="background-color:lightgreen;" |Minimal Boot Media
| style="background-color:lightgreen;" |boot.iso
| style="background-color:lightgreen;" |size,sha256sum, md5sum
| style="background-color:lightgreen;" |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
|-
|rowspan=3 width=100 |Partitioning
|width=200 |autopart
|width=500 |
<pre>
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
autopart
</pre>
|width=300 |[[QA:Testcase Anaconda autopart install]]
|-
|autopart encrypted
|<pre>
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
autopart  --encrypted --passphrase=redhat
</pre>
|[[QA:Testcase Anaconda autopart (encrypted) install]]
|-
|specify partition
|<pre>
# 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
</pre>
|
|-
| rowspan=4 |Install Source
| Http
|<pre>repo=http://download.fedora.redhat.com/pub/fedora/linux/development/i386/os</pre>
|[[QA/TestCases/InstallSourceHttp]]
|-
|Anonymous Ftp
|<pre>repo=ftp://download.fedora.redhat.com/pub/fedora/linux/development/i386/os</pre>
|[[QA/TestCases/InstallSourceFtpAnonymous]]
|-
|NonAnonymous Ftp
|<pre>repo=ftp://USER:PASS@download.fedora.redhat.com/pub/fedora/linux/development/i386/os</pre>
|[[QA/TestCases/InstallSourceFtpNonAnonymous]]
|-
|}


'''Upgrade Kick Start Options'''
== Watcher and Download Images ==
{|
! !!Description !!Scripts!! Test Case
|-
|rowspan=3 width=100  | Boot loader
|width=200 |Install new bootloader
|width=500 |
<pre>
# System bootloader configuration
bootloader --location=mbr
</pre>
|width=300 |[[QA:Testcase Anaconda Upgrade New Bootloader]]
|-
|Do not install a bootloader
|<pre>
# System bootloader configuration
bootloader --location=none
</pre>
|[[QA:Testcase Anaconda Upgrade Skip Bootloader]]
|-
|Upgrade Exiting boot loader
|<pre>
# System bootloader configuration
bootloader --location=none --upgrade
</pre>
|[[QA:Testcase Anaconda Upgrade Update Bootloader]]
|-
|}


'''Rescure Kick Start Options'''
Identify potential test drivers that trigger off of events.
List test scenarios,it will make clear that which suite needs to
support.
<!-- CSS Rotate
<style type="text/css">
td.vertical-text {
color:#333;
border:0px solid red;
writing-mode:tb-rl;
-webkit-transform:rotate(270deg);
-moz-transform:rotate(270deg);
-o-transform: rotate(270deg);
white-space:nowrap;
display:block;
bottom:0;
width:20px;
height:20px;
font-family: ‘Trebuchet MS’, Helvetica, sans-serif;
font-size:24px;
font-weight:normal;
text-shadow: 0px 0px 1px #333;
}
</style>
-->


{| class="wikitable  collapsible collapsed" border="1" width="85%"
* Source to watcher
! colspan="7"|Test Scenarios
** URL install source (typically, http://download.fedoraproject.org/pub/fedora/linux/development/15/i386/os)
|-
** DVD images (typically, http://dl.fedoraproject.org/pub/alt/stage/)
! colspan="1" class="unsortable"| &nbsp;
** Live images (typically, http://dl.fedoraproject.org/pub/alt/stage/)
! colspan="6" class="unsortable"|Boot Method <ref name="Boot Method"> Boot Method: http://docs.fedoraproject.org/en-US/Fedora/14/html/Installation_Guide/ch04s06.html </ref>
** netinst.iso images (typically, http://dl.fedoraproject.org/pub/alt/stage/)
|-
! colspan="1"|Test
! DVD
! CD
! boot.iso
! PXE images
! efidisk.img
! Live Image
<!--
|-
! colspan="1" class="unsortable"|Methods to load install.img (not applicable after F15)
! colspan="6" class="unsortable"|&nbsp;
|-
|stage2=cdrom
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|stage2=http://server/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|stage2=ftp://[user:passwd@]server/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|stage2=nfs:
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|stage2=hd:
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|askmethod
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:red; color:white;"|no
-->
|-
! colspan="1" class="unsortable"|Installation Method <ref>Installation Method: http://docs.fedoraproject.org/en-US/Fedora/14/html/Installation_Guide/s1-installmethod-x86.html</ref><ref name="bootoption">Anaconda Boot Options: http://fedoraproject.org/wiki/Anaconda/Options</ref>
! colspan="6" class="unsortable"|&nbsp;
|-
|autodetect cdrom
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=cdrom
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=http://host/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=ftp://[user:passwd@]server/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=nfs:server:/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=nfsiso:server:/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=hd:device/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=hdiso:
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|repo=livecd:
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:lightgreen;"|yes
|-
! colspan="1" class="unsortable"|Methods to locate kickstart file <ref name="bootoption"/>
! colspan="6" class="unsortable"|&nbsp;
|-
|ks (autodetect from dhcp ???(default is nfs))
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=http://server/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=ftp://[user:passwd@]server/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=nfs:server:/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=file:/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=hd:device:/path
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=bd:biosdevice:/path
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=floppy
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
|ks=cdrom
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:yellow;"|unknown
|-
! colspan="1" class="unsortable"|Methods to locate updates.img
! colspan="6" class="unsortable"|&nbsp;
|-
|updates
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|updates=http
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|images/updates.img
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|RHUpdates
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:red; color:white;"|no
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
! colspan="1" class="unsortable"|Methods to determine display device
! colspan="6" class="unsortable"|&nbsp;
|-
|graphical
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|-
|text
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|-
|vnc
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|cmdline
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|serial console=ttyS0
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:#66FF00;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|telnet
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
! colspan="1" class="unsortable"|Methods to choose kickstart network device <ref name="bootoption"/>
! colspan="6" class="unsortable"|&nbsp;
|-
|ksdevice=link
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:red; color:white;"|no
|-
|ksdevice=bootif
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|ksdevice=eth0
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|ksdevice=AA:BB:CC:DD:EE:FF
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
! colspan="1" class="unsortable"|Methods to activate network device
! colspan="6" class="unsortable"|&nbsp;
|-
|ip=dhcp
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:green;"|yes
|style="background-color:red; color:white;"|no
|-
|ip=a.b.c.d
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|dns=
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|gateway=
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|netmask=
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:lightgreen;"|yes
|style="background-color:red; color:white;"|no
|-
|}


== Step 4: Creating Virt Guest==
* Download Methods
virt-install is adopted to initialize the guest. The functions to create guest with virt-install from url, DVD,ect. should be defined firstly.
To avoid multiple download for saving bandwidth and time, the following methods can be adopted:
The following functions are defined in the class '''VirtGuest''' located in '''/lib/python/virtguest.py'''.
** mirror
{|
** proxy, such as squid
!Method!!Function
|-
|width=100|URL
|width= 200|url_create()
|-
|DVD,CD,boot.iso
|iso_create()
|}


== Image Sanity ==
* size
* sha256sum
* md5sum
* repoclosure for DVD
* file conflict for DVD


== Create Guest ==
* virt-install


Identify potential test drivers that trigger off of those events.
== Boot Arguments ==
* Linux Desktop Test Project [[http://ldtp.freedesktop.org/wiki/]]


* URL install source available (typically, http://download.fedoraproject.org/pub/fedora/linux/development/15/i386/os)
The mapping of test cases with kick start files can be found at  [[Testcase_Kickstart_Mapping]]
** url_sanity.py (for provided {{filename|images/boot.iso}})
** url_install.py
** bootiso_install.py
** pxe_install.py (kind of silly, but a possible future test)
* DVD image(s) available (typically, somewhere on http://serverbeach1.fedoraproject.org/pub/alt/stage/)
** dvd_sanity.py
** dvd_install.py
** hddvc_install.py
** nfsdvc_install.py
* CD image(s) available (typically, somewhere on http://serverbeach1.fedoraproject.org/pub/alt/stage/)
** cd_sanity.py
** cd_install.py
** hdcd_install.py
** nfscd_install.py


==Step 5 : Logging and watching the steps of installation==
== Virtue Disk ==
Get the installation output and logs at every step:
* libguestfs
{|
! Stage !! Log file !! End label
|-
|width =100|Boot
|width=300|boot.log
|width=300|Greetings
|-
|Stage1
|stage1.log
|Running anaconda [version], system installer - please wait
|-
|Stage2
|stage2.log
|
|}


== Key ==
== Logging ==
Set priorities for each test. The test drivers will support the tests with high priority.
* serial console
* [[Anaconda/Logging]]


{| class="wikitable sortable" border="0"
== Watch Installation Steps ==
! Colour !! Explanation
The installation steps can be watched by monitor the terminal output
|-
| style="background-color:green;"|yes
| supported and default (high priority)
|-
| style="background-color:#66FF00;"|yes
| supported (medium priority)
|-
| style="background-color:lightgreen;"|yes
| supported (low priority)
|-
| style="background-color:red; color:white;"|no
| unsupported configuration
|-
| style="background-color:yellow;"|unknown
| unknown
|-
|}


==References==
==References==
<references/>
<references/>

Latest revision as of 05:47, 21 November 2011

Test Environment

  • Virtualization
    • python-fedora installed
    • libvirt installed
    • qemu-kvm installed
    • python-virtinst installed
    • pax installed
    • service libvirtd started
  • Virtual disk (required for hd installation and ks hosted on hd)
    • libguestfs installed
    • python-libguestfs installed
  • Interaction with Desktop
    • Linux Desktop Test Project (LDTP)[[1]]
      • ldtp installed
      • python-ldtp installed
    • dogtail
  • Logging
    • service rsyslog started on host
    • rsyslog listening on specific port on host

Watcher and Download Images

Identify potential test drivers that trigger off of events.

  • Download Methods

To avoid multiple download for saving bandwidth and time, the following methods can be adopted:

    • mirror
    • proxy, such as squid

Image Sanity

  • size
  • sha256sum
  • md5sum
  • repoclosure for DVD
  • file conflict for DVD

Create Guest

  • virt-install

Boot Arguments

  • Linux Desktop Test Project [[2]]

The mapping of test cases with kick start files can be found at Testcase_Kickstart_Mapping

Virtue Disk

  • libguestfs

Logging

Watch Installation Steps

The installation steps can be watched by monitor the terminal output

References