No edit summary |
|||
Line 35: | Line 35: | ||
** file conflict for DVD | ** file conflict for DVD | ||
== Step 3: | == Step 3: Implement boot methods, repo locations, partitioning,user interface== | ||
The guest should be able to boot from URL, DVD.iso, Live.iso, boot.iso, netinst.iso, all these | The guest should be able to boot from URL, DVD.iso, Live.iso, boot.iso, netinst.iso, all these | ||
guests should be able to accept different kick start files, | guests should be able to accept different kick start files location, repo locations, partitioning and | ||
user interface. | |||
* kick start can be passed by virt-install arguments for tree compose or terminal for ISOs | * kick start can be passed by virt-install arguments for tree compose or terminal for ISOs | ||
** remote kickstart files: http, ftp, nfs | ** remote kickstart files: http, ftp, nfs | ||
Line 45: | Line 46: | ||
** passed by terminal | ** passed by terminal | ||
** passed by ks file | ** passed by ks file | ||
* partitioning | |||
** passed by ks file | |||
* user interface | |||
** passed by terminal | |||
The mapping of test cases with kick start files can be found at [[Testcase_Kickstart_Mapping]] | |||
== Step 4: Preparing kick start file == | == Step 4: Preparing kick start file == |
Revision as of 06:31, 18 November 2011
Step 1:Setup test enviroment and check system sanity
- 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)
- ldtp installed
- python-ldtp installed
- dogtail
- Linux Desktop Test Project (LDTP)
- Logging
- service rsyslog started on host
- rsyslog listening on specific port on host
Step 2: Get test media and check media sanity
- Tree compose: http://download.fedoraproject.org/pub/fedora/linux/development/[$VERSION]/[$ARCH]/os/
- DVD, Live, boot.iso, netinst.iso: http://dl.fedoraproject.org/pub/alt/stage/
- Download by mirror
- Download by proxy (squid)
- Check Media Sanity
- size
- sha256sum
- md5sum
- repoclosure for DVD
- file conflict for DVD
Step 3: Implement boot methods, repo locations, partitioning,user interface
The guest should be able to boot from URL, DVD.iso, Live.iso, boot.iso, netinst.iso, all these guests should be able to accept different kick start files location, repo locations, partitioning and user interface.
- kick start can be passed by virt-install arguments for tree compose or terminal for ISOs
- remote kickstart files: http, ftp, nfs
- local kickstart files: ks file should be uploaded on to the virtdisk before using it
- repo
- passed by terminal
- passed by ks file
- partitioning
- passed by ks file
- user interface
- passed by terminal
The mapping of test cases with kick start files can be found at Testcase_Kickstart_Mapping
Step 4: 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.
Test Scenarios | ||||||
---|---|---|---|---|---|---|
Boot Method [1] | ||||||
Test | DVD | CD | boot.iso | PXE images | efidisk.img | Live Image |
Installation Method [2][3] | ||||||
autodetect cdrom | yes | yes | yes | yes | yes | no |
repo=cdrom | yes | yes | yes | yes | yes | no |
repo=http://host/path | yes | yes | yes | yes | yes | no |
repo=ftp://[user:passwd@]server/path | yes | yes | yes | yes | yes | no |
repo=nfs:server:/path | yes | yes | yes | yes | yes | no |
repo=nfsiso:server:/path | yes | yes | yes | yes | yes | no |
repo=hd:device/path | yes | yes | yes | yes | yes | no |
repo=hdiso: | yes | yes | yes | yes | yes | no |
repo=livecd: | no | no | no | no | no | yes |
Methods to locate kickstart file [3] | ||||||
ks (autodetect from dhcp ???(default is nfs)) | yes | yes | yes | yes | yes | unknown |
ks=http://server/path | yes | yes | yes | yes | yes | unknown |
ks=ftp://[user:passwd@]server/path | yes | yes | yes | yes | yes | unknown |
ks=nfs:server:/path | yes | yes | yes | yes | yes | unknown |
ks=file:/path | yes | yes | yes | yes | yes | unknown |
ks=hd:device:/path | yes | yes | yes | yes | yes | unknown |
ks=bd:biosdevice:/path | yes | yes | yes | yes | yes | unknown |
ks=floppy | yes | yes | yes | yes | yes | unknown |
ks=cdrom | yes | yes | yes | yes | yes | unknown |
Methods to locate updates.img | ||||||
updates | yes | yes | yes | yes | yes | no |
updates=http | yes | yes | yes | yes | yes | no |
images/updates.img | no | no | no | yes | yes | no |
RHUpdates | no | no | no | yes | yes | no |
Methods to determine display device | ||||||
graphical | yes | yes | yes | yes | yes | yes |
text | yes | yes | yes | yes | yes | yes |
vnc | yes | yes | yes | yes | yes | no |
cmdline | yes | yes | yes | yes | yes | no |
serial console=ttyS0 | yes | yes | yes | yes | yes | no |
telnet | yes | yes | yes | yes | yes | no |
Methods to choose kickstart network device [3] | ||||||
ksdevice=link | yes | yes | yes | yes | yes | no |
ksdevice=bootif | yes | yes | yes | yes | yes | no |
ksdevice=eth0 | yes | yes | yes | yes | yes | no |
ksdevice=AA:BB:CC:DD:EE:FF | yes | yes | yes | yes | yes | no |
Methods to activate network device | ||||||
ip=dhcp | yes | yes | yes | yes | yes | no |
ip=a.b.c.d | yes | yes | yes | yes | yes | no |
dns= | yes | yes | yes | yes | yes | no |
gateway= | yes | yes | yes | yes | yes | no |
netmask= | yes | yes | yes | yes | yes | no |
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.
- URL install source available (typically, http://download.fedoraproject.org/pub/fedora/linux/development/15/i386/os)
- url_sanity.py (for provided
images/boot.iso
) - url_install.py
- bootiso_install.py
- pxe_install.py (kind of silly, but a possible future test)
- url_sanity.py (for provided
- 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
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
- ↑ Boot Method: http://docs.fedoraproject.org/en-US/Fedora/14/html/Installation_Guide/ch04s06.html
- ↑ Installation Method: http://docs.fedoraproject.org/en-US/Fedora/14/html/Installation_Guide/s1-installmethod-x86.html
- ↑ 3.0 3.1 3.2 Anaconda Boot Options: http://fedoraproject.org/wiki/Anaconda/Options