Line 33: | Line 33: | ||
|} | |} | ||
== Step 2: Prepare kick start file | == Step 2: Prepare kick start file == | ||
Most of the test cases can be covered by configure different kick start files. There are kickstart templates in different installation method folders. | Most of the test cases can be covered by configure different kick start files. There are kickstart templates in different installation method folders. | ||
Revision as of 04:57, 17 March 2011
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: Identify boot methods, retrieve files and check file 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 2: Prepare kick start file
Most of the test cases can be covered by configure different kick start files. There are kickstart templates in different installation method folders.
Method | Kick Start File Template | |
---|---|---|
Install | URL | /url_install/ks.cfg |
DVD | dvd_install/ks.cfg | |
CD | cd_install/ks.cfg | |
boot.iso | bootiso_install/ks.cfg | |
Upgrade | ||
Rescure |
The kick start options are below [1]:
Install Kick start options | |||||
---|---|---|---|---|---|
Operation | Options | Values | Description | Required | Typical |
Template (these options has been written in kickstart template.) | |||||
mode | text | text | |||
graphical | graphical | ||||
reboot | --reject | reboot | |||
firstboot | --enable or --enabled | no | |||
--disable or --disabled | |||||
--reconfig | |||||
shutdown | shutdown | ||||
poweroff | no | poweroff | |||
halt | no | halt | |||
keyboard | keyboard us | ||||
lang | lang en_US.UTF-8 | ||||
timezone | --utc | timezone --utc America/New_York | |||
rootpw | --iscrypted/--plaintext | rootpw --iscrypted $1$Cuh1FaJT$ogG37tqIhVDeq27uvfAYK1 | |||
--lock | |||||
install | url | url --url | |||
cdrom | cdrom | ||||
harddrive | |||||
nfs | |||||
selinux | --disabled | style="font-style:italic;" | |||
--enforcing | |||||
--permissive | selinux --permissive | ||||
firewall | --enabled or --enable | ||||
--disabled or --disable | firewall --disabled | ||||
--trust= | |||||
<incoming> | |||||
--port= | |||||
--service= | |||||
Disk Partition | |||||
clearpart | --all | ||||
--drives | |||||
--initlabel | |||||
--linux | |||||
--none | |||||
zerombr | zerombr | zerombr | |||
autopart | autopart | ||||
--encrypted --passphrase | |||||
part or partition | --size | ||||
--grow | |||||
--maxsize | |||||
--noformat | |||||
--onpart= or --usepart= | |||||
--ondisk= or --ondrive= | |||||
--asprimary | |||||
--fsprofile= | |||||
--fstype= | |||||
--fsoptions= | |||||
--label= | |||||
--recommended | |||||
--onbiosdisk= | |||||
--encrypted | |||||
--passphrase= | |||||
--escrowcert=<url> | |||||
--backuppassphrase | |||||
raid | --level | no | |||
--device | |||||
--spares= | |||||
--fstype | |||||
--fsoptions | |||||
--label= | |||||
--noformat | |||||
--useexisting | |||||
--encrypted | |||||
--passphrase= | |||||
--escrowcert=<url> | |||||
--backuppassphrase | |||||
ignoredisk | ignoredisk --drives=[disk1,disk2,...] | ||||
ignoredisk --only-use=[disk1,disk2,...] | |||||
repo | --name= | ||||
--baseurl= | |||||
--mirrorlist= | |||||
--cost= | |||||
--excludepkgs= | |||||
--includepkgs= | |||||
--proxy=[protocol://][username[:password]@]host[:port] | |||||
--ignoregroups=true | |||||
--noverifyssl | |||||
autostep | --autoscreenshot | no | |||
bootloader | --append | yes | |||
--driveorder | |||||
--location | |||||
--password | |||||
--md5pass | |||||
--upgrade | |||||
--timeout | |||||
comdline | |||||
device | --opts | ||||
dmraid | dmraid --name= --dev= | ||||
group | group --name=<name> [--gid=<gid>] | ||||
logging | --host= | no | |||
--port= | |||||
--level= | |||||
rescue | --romount] | no | |||
sshpw | --username | no | |||
--plaintext | |||||
--lock | |||||
skipx | skipx | no | skipx | ||
updates | updates [URL] | ||||
services | --enabled= | no | |||
--disabled= | |||||
user | --name= | no | |||
--gecos= | |||||
--groups= | |||||
--homedir= | |||||
--lock | |||||
--password= | |||||
--plaintext | |||||
--shell= | |||||
--uid= | |||||
vnc | --host= | no | |||
--port= | |||||
--password= | |||||
volgroup | <name> | no | |||
--noformat | |||||
--useexiting | |||||
--pesize | |||||
xconfig | --defaultdesktop= | ||||
--startxonboot | |||||
zfcp | --devnum= | ||||
--fcplun= | |||||
--wwpn= |
List test scenarios,it will make clear that which suite needs to
support.
Test Scenarios | ||||||
---|---|---|---|---|---|---|
Boot Method [2] | ||||||
Test | DVD | CD | boot.iso | PXE images | efidisk.img | Live Image |
Installation Method [3][4] | ||||||
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 [4] | ||||||
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 [4] | ||||||
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 3: Install Fedora
from virtguest import VirtGuest, the methods to initialize a guest for both tree compose and iso image have been implemented.
Identify potential test drivers that trigger off of those events.
- URL install source available (typically, http://download.fedoraproject.org/pub/fedora/linux/development/13/i386/os)
- url_install.py
- iso_sanity.py (for provided
images/boot.iso
) - 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/)
- iso_sanity.py
- dvd_install.py
- hdiso_install.py
- nfsiso_install.py
- CD image(s) available (typically, somewhere on http://serverbeach1.fedoraproject.org/pub/alt/stage/)
- iso_sanity.py
- cd_install.py
- hdiso_install.py
- nfsiso_install.py
Step 5
Write test drivers using requirements gathered in steps #2,#3,#4
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
- ↑ Kick start options: http://fedoraproject.org/wiki/Anaconda/Kickstart
- ↑ 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
- ↑ 4.0 4.1 4.2 Anaconda Boot Options: http://fedoraproject.org/wiki/Anaconda/Options