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 |
---|---|---|
DVD | DVD.iso exits | DVD size |
CD | 4 CDs exit, | CD size |
Minimal Boot Media | boot.iso exits | Sanity |
PXE | initrd.img, vmlinuz exit | Sanity |
Step 2: Write kick start file
Most of the test cases can be covered by configure different kick start files. The kick start options are below:
Kick start options | ||||
---|---|---|---|---|
Options | Values | Description | Required | Typical |
clearpart | --all | |||
--drives | ||||
--initlabel | ||||
--linux | ||||
--none | ||||
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 | ||||
ignoredisk | ignoredisk --drives=[disk1,disk2,...] | |||
ignoredisk --only-use=[disk1,disk2,...] | ||||
zerombr | zerombr | |||
autostep | --autoscreenshot | |||
bootloader | --append | |||
--driveorder | ||||
--location | ||||
--password | ||||
--md5pass | ||||
--upgrade | ||||
--timeout | ||||
comdline | ||||
device | --opts | |||
dmraid | dmraid --name= --dev= | |||
firewall | --enabled or --enable | |||
--disabled or --disable | ||||
--trust= | ||||
<incoming> | ||||
--port= | ||||
--service= | ||||
firstboot | --enable or --enabled | |||
--disable or --disabled | ||||
--reconfig | ||||
group | group --name=<name> [--gid=<gid>] | |||
mode | text | |||
graphical | ||||
halt | halt | |||
install | cdrom | |||
harddrive | ||||
nfs | ||||
url | ||||
upgrade | --root-device=<root> (optional) | |||
keyboard | ||||
lang | ||||
logging | --host= | |||
--port= | ||||
--level= | ||||
poweroff | poweroff | |||
raid | --level | |||
--device | ||||
--spares= | ||||
--fstype | ||||
--fsoptions | ||||
--label= | ||||
--noformat | ||||
--useexisting | ||||
--encrypted | ||||
--passphrase= | ||||
--escrowcert=<url> | ||||
--backuppassphrase | ||||
reboot | --reject | |||
shutdown | shutdown | |||
repo | --name= | |||
--baseurl= | ||||
--mirrorlist= | ||||
--cost= | ||||
--excludepkgs= | ||||
--includepkgs= | ||||
--proxy=[protocol://][username[:password]@]host[:port] | ||||
--ignoregroups=true | ||||
--noverifyssl | ||||
rescue | --romount] | |||
rootpw | --plaintext | |||
--lock | ||||
selinux | --disabled | |||
--enforcing | ||||
--permissive | ||||
services | --enabled= | |||
--disabled= | ||||
sshpw | --username | |||
--plaintext | ||||
--lock | ||||
skipx | skipx | |||
timezone | --utc | |||
updates | updates [URL] | |||
user | --name= | |||
--gecos= | ||||
--groups= | ||||
--homedir= | ||||
--lock | ||||
--password= | ||||
--plaintext | ||||
--shell= | ||||
--uid= | ||||
vnc | --host= | |||
--port= | ||||
--password= | ||||
volgroup | <name> | |||
--noformat | ||||
--useexiting | ||||
--pesize | ||||
xconfig | --defaultdesktop= | |||
--startxonboot | ||||
zfcp | --devnum= | |||
--fcplun= | ||||
--wwpn= |
Step 2
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 3
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 |
step 4
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
Step 6
Write kickstart files to exercise the tests identified in step#2
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