1122 lines
43 KiB
Text
1122 lines
43 KiB
Text
# Copy this file to subtests.cfg and edit it.
|
|
#
|
|
# Subtests
|
|
variants:
|
|
- install:
|
|
type = steps
|
|
fail_if_stuck_for = 300
|
|
stuck_detection_history = 2
|
|
keep_screendump_history = yes
|
|
force_create_image = yes
|
|
kill_vm = yes
|
|
kill_vm_timeout = 60
|
|
kill_vm_timeout_on_error = 0
|
|
|
|
- setup: install
|
|
type = steps
|
|
fail_if_stuck_for = 300
|
|
stuck_detection_history = 2
|
|
kill_vm_on_error = yes
|
|
keep_screendump_history = yes
|
|
|
|
- image_copy:
|
|
type = image_copy
|
|
vms = ''
|
|
parallel = no
|
|
profilers =
|
|
|
|
- unattended_install:
|
|
type = unattended_install
|
|
start_vm = no
|
|
kill_vm = yes
|
|
kill_vm_gracefully = yes
|
|
kill_vm_on_error = yes
|
|
shutdown_cleanly = yes
|
|
shutdown_cleanly_timeout = 120
|
|
force_create_image = yes
|
|
extra_params += " -boot d"
|
|
guest_port_unattended_install = 12323
|
|
kernel = vmlinuz
|
|
initrd = initrd.img
|
|
# Set migrate_background to yes to run migration in parallel
|
|
migrate_background = no
|
|
|
|
variants:
|
|
# Install guest from cdrom
|
|
- cdrom:
|
|
medium = cdrom
|
|
redirs += " unattended_install"
|
|
# Install guest from http/ftp url
|
|
- url:
|
|
only Linux
|
|
medium = url
|
|
url = REPLACE_THIS_WITH_TREE_URL
|
|
# Install guest from nfs nfs_server:nfs_dir
|
|
- nfs:
|
|
only Linux
|
|
medium = nfs
|
|
nfs_server = REPLACE_THIS_WITH_NFS_SERVER
|
|
nfs_dir = REPLACE_THIS_WITH_NFS_DIRECTORY
|
|
# Install guest with a remote kickstart
|
|
- remote_ks:
|
|
only Linux
|
|
medium = url
|
|
extra_params = " --append ks=REPLACE_THIS_WITH_URL_OF_KS"
|
|
url = REPLACE_THIS_WITH_TREE_URL
|
|
|
|
- qemu_img:
|
|
type = qemu_img
|
|
vms = ''
|
|
profilers = ''
|
|
take_regular_screendumps = no
|
|
variants:
|
|
- check:
|
|
subcommand = check
|
|
image_name_dd = dd_created_image
|
|
force_create_image_dd = no
|
|
remove_image_dd = yes
|
|
create_image_cmd = "dd if=/dev/zero of=%s bs=1G count=1"
|
|
# Test the convertion from 'dd_image_name' to specified format
|
|
supported_image_formats = qcow2 raw
|
|
- create:
|
|
subcommand = create
|
|
images += " large"
|
|
force_create_image_large = yes
|
|
image_size_large = 1G
|
|
image_name_large = create_large_image
|
|
remove_image_large = yes
|
|
- convert:
|
|
subcommand = convert
|
|
variants:
|
|
- to_qcow2:
|
|
dest_image_format = qcow2
|
|
compressed = no
|
|
encrypted = no
|
|
- to_raw:
|
|
dest_image_format = raw
|
|
- snapshot:
|
|
subcommand = snapshot
|
|
- info:
|
|
subcommand = info
|
|
- rebase:
|
|
subcommand = rebase
|
|
rebase_mode = unsafe
|
|
image_name_snapshot1 = sn1
|
|
image_name_snapshot2 = sn2
|
|
|
|
- pxe:
|
|
type = pxe
|
|
images = pxe
|
|
image_name_pxe = pxe-test
|
|
image_size_pxe = 1G
|
|
force_create_image_pxe = yes
|
|
remove_image_pxe = yes
|
|
extra_params += ' -boot n'
|
|
kill_vm_on_error = yes
|
|
network = bridge
|
|
restart_vm = yes
|
|
pxe_timeout = 60
|
|
|
|
- module_probe:
|
|
type = module_probe
|
|
# You can specify your own module list, though it is not needed usually.
|
|
# mod_list = kvm
|
|
load_count = 100
|
|
vms = ''
|
|
profilers = ''
|
|
take_regular_screendumps = no
|
|
|
|
# Tests that do need installed guests to run
|
|
- boot: install setup image_copy unattended_install.cdrom
|
|
type = boot
|
|
restart_vm = yes
|
|
kill_vm_on_error = yes
|
|
login_timeout = 240
|
|
|
|
- reboot: install setup image_copy unattended_install.cdrom
|
|
type = boot
|
|
reboot_method = shell
|
|
kill_vm_on_error = yes
|
|
login_timeout = 240
|
|
|
|
- migrate: install setup image_copy unattended_install.cdrom
|
|
type = migration
|
|
migration_test_command = help
|
|
migration_bg_command = "cd /tmp; nohup tcpdump -q -t ip host localhost"
|
|
migration_bg_check_command = pgrep tcpdump
|
|
migration_bg_kill_command = pkill tcpdump
|
|
kill_vm_on_error = yes
|
|
iterations = 2
|
|
used_mem = 1024
|
|
mig_timeout = 3600
|
|
# you can uncomment the following line to enable the state
|
|
# check
|
|
# vmstate_check = yes
|
|
variants:
|
|
- tcp:
|
|
migration_protocol = "tcp"
|
|
- unix:
|
|
migration_protocol = "unix"
|
|
- exec:
|
|
migration_protocol = "exec"
|
|
- mig_cancel:
|
|
migration_protocol = "tcp"
|
|
mig_cancel = yes
|
|
variants:
|
|
- @default:
|
|
- with_set_speed:
|
|
mig_speed = 1G
|
|
pre_migrate = "mig_set_speed"
|
|
- with_reboot:
|
|
iterations = 1
|
|
type = migration_with_reboot
|
|
- with_file_transfer:
|
|
iterations = 1
|
|
type = migration_with_file_transfer
|
|
- with_autotest:
|
|
only Linux
|
|
type = autotest
|
|
migrate_background = yes
|
|
test_timeout = 1800
|
|
variants:
|
|
- dbench:
|
|
test_control_file = dbench.control
|
|
- stress:
|
|
test_control_file = stress.control
|
|
- monotonic_time:
|
|
test_control_file = monotonic_time.control
|
|
|
|
- migrate_multi_host: install setup image_copy unattended_install.cdrom
|
|
type = migration_multi_host
|
|
migration_test_command = help
|
|
migration_bg_command = "cd /tmp; nohup tcpdump -q -t ip host localhost"
|
|
migration_bg_check_command = pgrep tcpdump
|
|
migration_bg_kill_command = pkill tcpdump
|
|
kill_vm_on_error = yes
|
|
iterations = 2
|
|
used_mem = 1024
|
|
mig_timeout = 3600
|
|
comm_port = 13234
|
|
regain_ip_cmd = dhclient
|
|
|
|
- boot_savevm: install setup image_copy unattended_install.cdrom
|
|
type = boot_savevm
|
|
savevm_delay = 0.3
|
|
savevm_login_delay = 120
|
|
savevm_timeout = 2000
|
|
kill_vm_on_error = yes
|
|
kill_vm_gracefully = yes
|
|
kill_vm = yes
|
|
|
|
- autotest: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = autotest
|
|
test_timeout = 1800
|
|
variants:
|
|
- sleeptest:
|
|
test_timeout = 120
|
|
test_control_file = sleeptest.control
|
|
- dbench:
|
|
test_control_file = dbench.control
|
|
- bonnie:
|
|
test_control_file = bonnie.control
|
|
- ebizzy:
|
|
test_control_file = ebizzy.control
|
|
- ffsb:
|
|
test_control_file = ffsb.control
|
|
- stress:
|
|
test_control_file = stress.control
|
|
- disktest:
|
|
test_control_file = disktest.control
|
|
- ctcs:
|
|
# If you think this is too lengthy, please change the cerberus
|
|
# control file and set this timeout appropriately.
|
|
test_timeout = 3900
|
|
test_control_file = ctcs.control
|
|
- npb:
|
|
test_control_file = npb.control
|
|
- hackbench:
|
|
test_control_file = hackbench.control
|
|
- cpu_hotplug:
|
|
test_control_file = cpu_hotplug.control
|
|
- monotonic_time:
|
|
test_control_file = monotonic_time.control
|
|
- tsc:
|
|
test_control_file = tsc.control
|
|
- scrashme:
|
|
test_control_file = scrashme.control
|
|
- hwclock:
|
|
test_control_file = hwclock.control
|
|
- rtc:
|
|
test_control_file = rtc.control
|
|
- iozone:
|
|
test_control_file = iozone.control
|
|
- flail:
|
|
test_control_file = flail.control
|
|
- systemtap:
|
|
test_control_file = systemtap.control
|
|
|
|
- qemu_img_commit: install setup image_copy unattended_install.cdrom
|
|
type = qemu_img
|
|
subcommand = commit
|
|
|
|
- stop_continue: install setup image_copy unattended_install.cdrom
|
|
type = stop_continue
|
|
kill_vm_on_error = yes
|
|
|
|
- linux_s3: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = linux_s3
|
|
|
|
- timedrift: install setup image_copy unattended_install.cdrom
|
|
variants:
|
|
- ntp:
|
|
variants:
|
|
- with_load:
|
|
type = timedrift
|
|
# Pin the VM and host load to CPU #0
|
|
cpu_mask = 0x1
|
|
# Set the load and rest durations
|
|
load_duration = 20
|
|
rest_duration = 20
|
|
# Fail if the drift after load is higher than 50%
|
|
drift_threshold = 50
|
|
# Fail if the drift after the rest period is higher than 10%
|
|
drift_threshold_after_rest = 10
|
|
# For now, make sure this test is executed alone
|
|
used_cpus = 100
|
|
- with_migration:
|
|
type = timedrift_with_migration
|
|
migration_iterations = 3
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
- with_reboot:
|
|
type = timedrift_with_reboot
|
|
reboot_iterations = 1
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
- with_stop:
|
|
type = timedrift_with_stop
|
|
stop_interations = 1
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
- date:
|
|
variants:
|
|
- with_load:
|
|
type = timedrift
|
|
# Pin the VM and host load to CPU #0
|
|
cpu_mask = 0x1
|
|
# Set the load and rest durations
|
|
load_duration = 20
|
|
rest_duration = 20
|
|
# Fail if the drift after load is higher than 50%
|
|
drift_threshold = 50
|
|
# Fail if the drift after the rest period is higher than 10%
|
|
drift_threshold_after_rest = 10
|
|
# For now, make sure this test is executed alone
|
|
used_cpus = 100
|
|
- with_migration:
|
|
type = timedrift_with_migration
|
|
migration_iterations = 3
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
- with_reboot:
|
|
type = timedrift_with_reboot
|
|
reboot_iterations = 1
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
- with_stop:
|
|
type = timedrift_with_stop
|
|
stop_interations = 1
|
|
drift_threshold = 10
|
|
drift_threshold_single = 3
|
|
|
|
- balloon_check: install setup image_copy unattended_install.cdrom
|
|
no Win2000, Fedora.8, Fedora.9, Fedora.10, RHEL.3, RHEL.4, Unix, livecd
|
|
type = balloon_check
|
|
extra_params += " -balloon virtio"
|
|
iterations = 5
|
|
|
|
- watchdog: install setup image_copy unattended_install.cdrom
|
|
only RHEL.5, RHEL.6
|
|
type = watchdog
|
|
extra_params += " -watchdog i6300esb -watchdog-action reset"
|
|
relogin_timeout = 240
|
|
|
|
- smbios_table: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = smbios_table
|
|
start_vm = no
|
|
|
|
- softlockup: install setup unattended_install.cdrom
|
|
only Linux
|
|
type = softlockup
|
|
softlockup_files = stress-1.0.4.tar.gz
|
|
stress_setup_cmd = "cd %s && tar xvf stress-1.0.4.tar.gz && cd stress-1.0.4 && ./configure && make && cd src"
|
|
server_setup_cmd = "%s/heartbeat_slu.py --server --threshold %s --file %s --port %s --verbose --check-drift"
|
|
client_setup_cmd = "%s/heartbeat_slu.py --client --address %s --file %s --port %s --interval 1"
|
|
stress_cmd = "cd %s && cd stress-1.0.4 && cd src && nohup ./stress -c %s > /dev/null 2>&1&"
|
|
kill_monitor_cmd = "ps aux | grep heart | grep -v grep | awk '{print$2}' | xargs kill -9 > /dev/null 2>&1"
|
|
kill_stress_cmd = "pkill -f stress > /dev/null 2>&1"
|
|
drift_cmd = "tail -1 %s | awk '{print $7}'"
|
|
monitor_log_file_server = /tmp/heartbeat_server.log
|
|
monitor_log_file_client = /tmp/heartbeat_client.log
|
|
monitor_port = 13330
|
|
stress_threshold = 10
|
|
# time_to_run (hours) = 12, 18, 24, 48 hours
|
|
test_length = 0.10
|
|
|
|
- stress_boot: install setup image_copy unattended_install.cdrom
|
|
type = stress_boot
|
|
max_vms = 5
|
|
alive_test_cmd = uname -a
|
|
login_timeout = 240
|
|
kill_vm = yes
|
|
kill_vm_vm1 = no
|
|
kill_vm_gracefully = no
|
|
extra_params += " -snapshot"
|
|
used_cpus = 5
|
|
used_mem = 2560
|
|
|
|
- guest_test: install setup image_copy unattended_install.cdrom
|
|
only Windows
|
|
type = guest_test
|
|
login_timeout = 360
|
|
test_timeout = 600
|
|
script_params =
|
|
reboot = yes
|
|
variants:
|
|
- autoit:
|
|
interpreter = "cmd /c D:\AutoIt3.exe"
|
|
variants:
|
|
- notepad:
|
|
guest_script = autoit/notepad1.au3
|
|
dst_rsc_path = "C:\script.au3"
|
|
- stub:
|
|
download = yes
|
|
download_cmd = "git clone"
|
|
rsc_server = "git://the.resource.server/autoit"
|
|
dst_rsc_dir = "C:\"
|
|
dst_rsc_path = "C:\autoit\stub\stub.au3"
|
|
- powershell:
|
|
interpreter = "cmd /c powershell.exe -File"
|
|
variants:
|
|
- stub:
|
|
download = yes
|
|
download_cmd = "git clone"
|
|
rsc_server = "git://the.resource.server/powershell"
|
|
dst_rsc_dir = "C:\"
|
|
dst_rsc_path = "C:\powershell\stub\stub.ps1"
|
|
|
|
- iozone_windows: install setup image_copy unattended_install.cdrom
|
|
only Windows
|
|
type = iozone_windows
|
|
iozone_cmd = "D:\IOzone\iozone.exe -a"
|
|
iozone_timeout = 3600
|
|
|
|
- whql: install setup image_copy unattended_install.cdrom
|
|
only Windows
|
|
nic_mode = tap
|
|
# Replace this with the address of an installed DTM server
|
|
server_address = 10.20.30.40
|
|
# The server should run rss.exe like a regular Windows VM, preferably
|
|
# with administrator privileges (or at least with permission to write
|
|
# to the DTM studio directory)
|
|
server_shell_port = 10022
|
|
server_file_transfer_port = 10023
|
|
server_studio_path = %programfiles%\Microsoft Driver Test Manager\Studio
|
|
dsso_test_binary = deps/whql_submission_15.exe
|
|
dsso_delete_machine_binary = deps/whql_delete_machine_15.exe
|
|
wtt_services = wttsvc
|
|
variants:
|
|
- support_vm_install:
|
|
# The support VM is identical to the tested VM in every way
|
|
# except for the image name which ends with '-supportvm'.
|
|
type = unattended_install
|
|
image_name += -supportvm
|
|
extra_params += " -boot d"
|
|
force_create_image = yes
|
|
kill_vm = yes
|
|
nic_mode = user
|
|
redirs += " unattended_install"
|
|
guest_port_unattended_install = 12323
|
|
medium = cdrom
|
|
kernel =
|
|
initrd =
|
|
- client_install: support_vm_install
|
|
type = whql_client_install
|
|
# The username and password are required for accessing the DTM client
|
|
# installer binary shared by the server
|
|
server_username = administrator
|
|
server_password = 1q2w3eP
|
|
# This path refers to a shared directory on the server
|
|
# (the final cmd will be something like \\servername\DTMInstall\...)
|
|
install_cmd = \DTMInstall\Client\Setup.exe /passive
|
|
install_timeout = 3600
|
|
# The test will setup auto logon on the client machine using the
|
|
# following username and password:
|
|
client_username = DTMLLUAdminUser
|
|
client_password = Testpassword,1
|
|
# (These are created by the DTM client installer and should probably not
|
|
# be changed.)
|
|
variants:
|
|
- @original:
|
|
- support_vm:
|
|
image_name += -supportvm
|
|
- submission: client_install support_vm_install
|
|
type = whql_submission
|
|
extra_params += " -snapshot"
|
|
restart_vm = yes
|
|
cdroms =
|
|
test_timeout = 3600
|
|
device_data = cat0 cat1 cat2 cat3 prog desc virt filter logoarch logoos whqlos whqlqual
|
|
descriptors = desc1 desc2 desc3
|
|
# DeviceData names
|
|
dd_name_cat0 = Category
|
|
dd_name_cat1 = Category
|
|
dd_name_cat2 = Category
|
|
dd_name_cat3 = Category
|
|
dd_name_logoarch = LogoProcessorArchitecture
|
|
dd_name_logoos = LogoOperatingSystem
|
|
dd_name_whqlos = WhqlOs
|
|
dd_name_whqlqual = WhqlQualification
|
|
dd_name_prog = LogoProgramId
|
|
dd_name_desc = LogoProgramDescription
|
|
dd_name_filter = WDKFilterAttribute
|
|
dd_name_virt = ParaVirtualizationDriver
|
|
# Common DeviceData data
|
|
dd_data_filter = FilterIfNoInf
|
|
dd_data_virt = True
|
|
# Exclude jobs that have '(Manual)' in their names
|
|
job_filter = ^((?!\(Manual\)).)*$
|
|
variants:
|
|
- unclassified:
|
|
dd_data_cat0 = Device Fundamentals
|
|
dd_data_cat1 = System Fundamentals\Dynamic Partitioning
|
|
dd_data_prog = Unclassified
|
|
dd_data_desc = Unclassified
|
|
dd_data_whqlqual = Unclassified Signature
|
|
variants:
|
|
- tablet:
|
|
submission_name = tablet
|
|
extra_params += " -usbdevice tablet"
|
|
test_device = HID-compliant mouse
|
|
test_timeout = 36000
|
|
- device:
|
|
variants:
|
|
- keyboard:
|
|
submission_name = keyboard
|
|
# test_device is a regular expression that should match a device's
|
|
# name as it appears in device manager. The first device that matches
|
|
# is used.
|
|
test_device = keyboard
|
|
# Set timeout to 10 hours
|
|
test_timeout = 36000
|
|
dd_data_cat0 = Input\Keyboard
|
|
dd_data_cat1 = Device Fundamentals
|
|
dd_data_cat2 = System Fundamentals\Dynamic Partitioning
|
|
dd_data_prog = InputKbd
|
|
dd_data_desc = Input > Keyboard
|
|
- net:
|
|
submission_name = net
|
|
# Add a support machine and extra NICs
|
|
vms += " supportvm"
|
|
nics += " nic2 nic3"
|
|
test_device = RTL8139.*NIC$
|
|
test_timeout = 86400
|
|
dd_data_cat0 = Network\LAN (Ethernet)
|
|
dd_data_cat1 = Device Fundamentals
|
|
dd_data_cat2 = System Fundamentals\Dynamic Partitioning
|
|
dd_data_prog = NetLan
|
|
dd_data_desc = Network > LAN (Ethernet)
|
|
# Machine dimensions
|
|
dimensions = testrole
|
|
dim_name_testrole = NetDevice\TestRole
|
|
dim_value_testrole_vm1 = NdistestLanClient
|
|
dim_value_testrole_supportvm = NdistestLanServer
|
|
# Device selection for the NDISTest client machine
|
|
device_params_vm1 = testdev clientmsgdev clientsupportdev
|
|
dp_name_testdev = NdistestLanClientTestDevice
|
|
dp_regex_testdev = RTL8139.*NIC$
|
|
dp_name_clientmsgdev = NdistestLanClientMessageDevice
|
|
dp_regex_clientmsgdev = RTL8139.*NIC #2$
|
|
dp_name_clientsupportdev = NdistestLanClientSupportDevice0
|
|
dp_regex_clientsupportdev = RTL8139.*NIC #3$
|
|
# Device selection for the NDISTest server machine
|
|
device_params_supportvm = servermsgdev serversupportdev
|
|
dp_name_servermsgdev = NdistestLanServerMessageDevice
|
|
dp_regex_servermsgdev = RTL8139.*NIC$
|
|
dp_name_serversupportdev = NdistestLanServerSupportDevice0
|
|
dp_regex_serversupportdev = RTL8139.*NIC #2$
|
|
- hdd:
|
|
submission_name = hdd
|
|
# Run the tests on a non-system drive
|
|
# (match device names that contain 'QEMU HARDDISK' and do not contain '[C]')
|
|
test_device = ^(?=.*?\bQEMU HARDDISK\b)((?!\[C\]).)*$
|
|
device_data += " ex0 ex1 ex2 ex3"
|
|
dd_data_cat0 = Storage\Device Class\Disk\Disk
|
|
dd_data_cat1 = Storage\Device Class\Disk\Fixed
|
|
dd_data_cat2 = Storage\Device Class\Disk\Bus\ATA
|
|
dd_data_cat3 = Device Fundamentals
|
|
dd_data_prog = StorHDD
|
|
dd_data_desc = Storage > Hard Disk Drive (HDD)
|
|
dd_name_ex0 = Storage_bus_type
|
|
dd_data_ex0 = ATA/ATAPI
|
|
dd_name_ex1 = Hybrid_HDD_Support
|
|
dd_data_ex1 = 0
|
|
dd_name_ex2 = Non_Rotating_Media
|
|
dd_data_ex2 = 0
|
|
dd_name_ex3 = Secure_Storage
|
|
dd_data_ex3 = 0
|
|
# Add a 2nd disk which will become D:
|
|
images += " tmp"
|
|
image_name_tmp = tmp
|
|
image_size_tmp = 4G
|
|
force_create_image_tmp = yes
|
|
# Run diskpart to partition the 2nd disk
|
|
whql_pre_command = "echo select disk=1 > dp.txt && "
|
|
whql_pre_command += "echo create partition primary >> dp.txt && "
|
|
whql_pre_command += "echo assign letter=d >> dp.txt && "
|
|
whql_pre_command += "diskpart /s dp.txt & "
|
|
whql_pre_command += "format d: /fs:ntfs /q /y"
|
|
variants:
|
|
- full:
|
|
# Yes, 100 hours, this is not a mistake
|
|
test_timeout = 360000
|
|
- syscache_test:
|
|
job_filter = syscache test
|
|
test_timeout = 7200
|
|
|
|
- guest_s4: install setup image_copy unattended_install.cdrom
|
|
type = guest_s4
|
|
check_s4_support_cmd = grep -q disk /sys/power/state
|
|
test_s4_cmd = "cd /tmp; nohup tcpdump -q -t ip host localhost"
|
|
check_s4_cmd = pgrep tcpdump
|
|
set_s4_cmd = echo disk > /sys/power/state
|
|
kill_test_s4_cmd = pkill tcpdump
|
|
services_up_timeout = 30
|
|
relogin_timeout = 240
|
|
|
|
- nic_hotplug: install setup image_copy unattended_install.cdrom
|
|
pci_type = nic
|
|
reference_cmd = lspci
|
|
find_pci_cmd = 'lspci | tail -n1'
|
|
pci_test_cmd = 'nslookup www.redhat.com'
|
|
wait_secs_for_hook_up = 3
|
|
variants:
|
|
- nic_8139:
|
|
pci_model = rtl8139
|
|
match_string = "8139"
|
|
- nic_virtio:
|
|
pci_model = virtio
|
|
match_string = "Virtio network device"
|
|
- nic_e1000:
|
|
pci_model = e1000
|
|
match_string = "Gigabit Ethernet Controller"
|
|
variants:
|
|
- default:
|
|
type = pci_hotplug
|
|
- additional:
|
|
type = nic_hotplug
|
|
|
|
|
|
- block_hotplug: install setup image_copy unattended_install.cdrom
|
|
type = pci_hotplug
|
|
pci_type = block
|
|
reference_cmd = lspci
|
|
find_pci_cmd = 'lspci | tail -n1'
|
|
images += " stg"
|
|
boot_drive_stg = no
|
|
image_name_stg = storage
|
|
image_size_stg = 1G
|
|
remove_image_stg = yes
|
|
force_create_image_stg = yes
|
|
pci_test_cmd = "yes | mke2fs `fdisk -l 2>&1 | awk '/\/dev\/[sv]d[a-z] doesn/ {print $2}'`"
|
|
wait_secs_for_hook_up = 3
|
|
kill_vm_on_error = yes
|
|
variants:
|
|
- block_virtio:
|
|
pci_model = virtio
|
|
match_string = "Virtio block device"
|
|
- block_scsi:
|
|
pci_model = scsi
|
|
match_string = "LSI Logic"
|
|
variants:
|
|
- fmt_qcow2:
|
|
image_format_stg = qcow2
|
|
- fmt_raw:
|
|
image_format_stg = raw
|
|
|
|
- enospc: install setup image_copy unattended_install.cdrom
|
|
type = enospc
|
|
start_vm = no
|
|
images += " stg"
|
|
drive_werror = stop
|
|
drive_cache = none
|
|
image_name_stg = enospc
|
|
image_format_stg = qcow2
|
|
image_boot_stg = no
|
|
image_snapshot_stg = no
|
|
check_image_stg = no
|
|
vgtest_name = vg_kvm_test_enospc
|
|
lvtest_name = lv_kvm_test_enospc
|
|
background_cmd = "nohup dd if=/dev/zero of=%s bs=1024 &"
|
|
kill_vm = yes
|
|
|
|
- qmp_basic: install setup image_copy unattended_install.cdrom
|
|
type = qmp_basic
|
|
|
|
- qmp_basic_rhel6: install setup image_copy unattended_install.cdrom
|
|
type = qmp_basic_rhel6
|
|
|
|
- vlan: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = vlan
|
|
# subnet should not be used by host
|
|
subnet = "192.168"
|
|
vlan_num = 5
|
|
file_size = 10
|
|
maximal = 4094
|
|
listen_cmd = "nc -l %s > %s"
|
|
send_cmd = "nc %s %s < %s"
|
|
nic_mode = tap
|
|
vms += " vm2"
|
|
image_snapshot = yes
|
|
kill_vm_vm2 = yes
|
|
kill_vm_gracefully_vm2 = no
|
|
|
|
- ping: install setup image_copy unattended_install.cdrom
|
|
type = ping
|
|
counts = 100
|
|
flood_minutes = 10
|
|
nics += ' nic2'
|
|
|
|
- jumbo: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = jumbo
|
|
|
|
- file_transfer: install setup image_copy unattended_install.cdrom
|
|
type = file_transfer
|
|
filesize = 4000
|
|
transfer_timeout = 1000
|
|
variants:
|
|
- remote:
|
|
transfer_type = remote
|
|
|
|
- nicdriver_unload: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = nicdriver_unload
|
|
nic_mode = tap
|
|
filesize = 100
|
|
transfer_timeout = 100
|
|
transfer_type = remote
|
|
sessions_num = 10
|
|
|
|
- nic_promisc: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = nic_promisc
|
|
filesize = 400
|
|
transfer_timeout = 100
|
|
transfer_type = remote
|
|
|
|
- multicast: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = multicast
|
|
nic_mode = tap
|
|
mcast = 225.0.0.1
|
|
mgroup_count = 20
|
|
flood_minutes = 1
|
|
|
|
- mac_change: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = mac_change
|
|
kill_vm = yes
|
|
|
|
- netperf: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = netperf
|
|
nics += ' nic2 nic3 nic4'
|
|
nic_mode = tap
|
|
netperf_files = netperf-2.4.5.tar.bz2 wait_before_data.patch
|
|
packet_size = 1500
|
|
setup_cmd = "cd %s && tar xvfj netperf-2.4.5.tar.bz2 && cd netperf-2.4.5 && patch -p0 < ../wait_before_data.patch && ./configure && make"
|
|
netserver_cmd = %s/netperf-2.4.5/src/netserver
|
|
variants:
|
|
- stream:
|
|
netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -m %s
|
|
protocols = "TCP_STREAM TCP_MAERTS TCP_SENDFILE UDP_STREAM"
|
|
- rr:
|
|
netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -r %s
|
|
protocols = "TCP_RR TCP_CRR UDP_RR"
|
|
|
|
- ethtool: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = ethtool
|
|
filesize = 512
|
|
nic_mode = tap
|
|
|
|
- nic_bonding: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = nic_bonding
|
|
nics += ' nic2 nic3 nic4'
|
|
image_snapshot = yes
|
|
serial_login = yes
|
|
test_timeout = 1000
|
|
filesize = 4000
|
|
transfer_timeout = 1000
|
|
transfer_type = remote
|
|
kill_vm = yes
|
|
# you can specify the parameters of bonding module here
|
|
# bonding_params = "mode=active-backup"
|
|
|
|
- set_link: install setup image_copy unattended_install.cdrom
|
|
type = set_link
|
|
test_timeout = 1000
|
|
filesize = 4000
|
|
transfer_timeout = 1000
|
|
transfer_type = remote
|
|
kill_vm =yes
|
|
|
|
- netstress_kill_guest: install setup unattended_install.cdrom
|
|
only Linux
|
|
type = netstress_kill_guest
|
|
image_snapshot = yes
|
|
nic_mode = tap
|
|
# There should be enough vms for build topology.
|
|
variants:
|
|
-driver:
|
|
mode = driver
|
|
-load:
|
|
mode = load
|
|
netperf_files = netperf-2.4.5.tar.bz2 wait_before_data.patch
|
|
packet_size = 1500
|
|
setup_cmd = "cd %s && tar xvfj netperf-2.4.5.tar.bz2 && cd netperf-2.4.5 && patch -p0 < ../wait_before_data.patch && ./configure && make"
|
|
clean_cmd = " while killall -9 netserver; do True test; done;"
|
|
netserver_cmd = %s/netperf-2.4.5/src/netserver
|
|
netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -m %s
|
|
|
|
- physical_resources_check: install setup image_copy unattended_install.cdrom
|
|
type = physical_resources_check
|
|
catch_uuid_cmd = dmidecode | awk -F: '/UUID/ {print $2}'
|
|
|
|
- ksm_overcommit: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
# Don't preprocess any vms as we need to change its params
|
|
vms = ''
|
|
image_snapshot = yes
|
|
kill_vm_gracefully = no
|
|
type = ksm_overcommit
|
|
# Make host use swap (a value of 'no' will turn off host swap)
|
|
ksm_swap = yes
|
|
no hugepages
|
|
# Overcommit of host memmory
|
|
ksm_overcommit_ratio = 3
|
|
# Max paralel runs machine
|
|
ksm_parallel_ratio = 4
|
|
# Host memory reserve (default - best fit for used mem)
|
|
# ksm_host_reserve = 512
|
|
# ksm_guest_reserve = 1024
|
|
variants:
|
|
- ksm_serial:
|
|
ksm_mode = "serial"
|
|
- ksm_parallel:
|
|
ksm_mode = "parallel"
|
|
|
|
- iofuzz: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = iofuzz
|
|
|
|
- virtio_console: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
vms = ''
|
|
type = virtio_console
|
|
# Default number of consoles
|
|
virtio_console_no_serialports = 0
|
|
virtio_console_no_consoles = 0
|
|
|
|
# smoke params - $console_type:data_string
|
|
# FIXME: test_smoke doesn't work with console yet (virtio_console bug)
|
|
# "serialport;console:Custom data"
|
|
smoke_test = yes
|
|
virtio_console_smoke = "serialport"
|
|
# loopback params - '$source_console_type@buffer_length:$destination_console_type1@buffer_length:...:$loopback_buffer_length;...'
|
|
loopback_test = yes
|
|
virtio_console_loopback = "serialport:serialport;serialport@1024:serialport@32:console@1024:console@8:16"
|
|
# perf params - $console_type@buffer_length:$test_duration
|
|
# FIXME: test_perf doesn't work with console yet (virtio_console bug)
|
|
# virtio_console_perf = "serialport;serialport@1000000:120;console@1024:60"
|
|
perf_test = yes
|
|
virtio_console_perf = "serialport;serialport@1000000:120"
|
|
# Enable destructive tests: "test_name = yes"
|
|
# Disable test: change yes or delete key.
|
|
rmmod_test = yes
|
|
max_ports_test = yes
|
|
shutdown_test = yes
|
|
|
|
# Offline migration params - '$console_type:$no_migrations:$send-:$recv-$loopback-buffer_length'
|
|
migrate_offline_test = yes
|
|
virtio_console_migration_offline = "serialport:1:2048:2048:2048;serialport:5:4096:4096:4096"
|
|
|
|
# Online migration params - '$console_type:$no_migrations:$send-:$recv-$loopback-buffer_length'
|
|
migrate_online_test = yes
|
|
virtio_console_migration_online = "serialport:1:2048:2048:2048;serialport:5:4096:4096:4096"
|
|
|
|
hotplug_test = yes
|
|
hotplug_serial_test = yes
|
|
hotplug_console_test = no
|
|
|
|
# This unit test module is for older branches of KVM that use the
|
|
# kvmctl test harness (such as the code shipped with RHEL 5.x)
|
|
- unit_test_kvmctl:
|
|
type = unit_test
|
|
vms = ''
|
|
profilers = ''
|
|
variants:
|
|
- access:
|
|
case = access
|
|
- apic:
|
|
case = apic
|
|
- emulator:
|
|
case = emulator
|
|
- hypercall:
|
|
case = hypercall
|
|
- msr:
|
|
case = msr
|
|
- port80:
|
|
case = port80
|
|
- realmode:
|
|
case = realmode
|
|
- sieve:
|
|
case = sieve
|
|
- smptest:
|
|
case = smptest
|
|
- tsc:
|
|
case = tsc
|
|
- stringio:
|
|
case = stringio
|
|
- vmexit:
|
|
case = vmexit
|
|
|
|
- fillup_disk: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
only qcow2
|
|
type = fillup_disk
|
|
fillup_timeout = 120
|
|
fillup_size = 200
|
|
fillup_cmd = "dd if=/dev/zero of=/%s/fillup.%d bs=%dM count=1 oflag=direct"
|
|
kill_vm = yes
|
|
|
|
- lvm: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
images += ' stg1 stg2'
|
|
image_name_stg1 = storage_4k
|
|
image_cluster_size_stg1 = 4096
|
|
image_size_stg1 = 1G
|
|
image_format_stg1 = qcow2
|
|
image_name_stg2 = storage_64k
|
|
image_cluster_size_stg2 = 65536
|
|
image_size_stg2 = 1G
|
|
image_format_stg2 = qcow2
|
|
guest_testdir = /mnt
|
|
disks = "/dev/sdb /dev/sdc"
|
|
kill_vm = no
|
|
post_command_noncritical = no
|
|
variants:
|
|
lvm_create:
|
|
type = lvm
|
|
force_create_image_stg1 = yes
|
|
force_create_image_stg2 = yes
|
|
clean = no
|
|
lvm_fill: lvm_create
|
|
type = fillup_disk
|
|
force_create_image_stg1 = no
|
|
force_create_image_stg2 = no
|
|
guest_testdir = /mnt/kvm_test_lvm
|
|
fillup_timeout = 120
|
|
fillup_size = 20
|
|
fillup_cmd = "dd if=/dev/zero of=%s/fillup.%d bs=%dM count=1 oflag=direct"
|
|
lvm_ioquit: lvm_create
|
|
type = ioquit
|
|
force_create_image_stg1 = no
|
|
force_create_image_stg2 = no
|
|
kill_vm = yes
|
|
background_cmd = "for i in 1 2 3 4; do (dd if=/dev/urandom of=/mnt/kvm_test_lvm/file bs=102400 count=10000000 &); done"
|
|
check_cmd = pgrep dd
|
|
clean = yes
|
|
remove_image_stg1 = yes
|
|
remove_image_stg2 = yes
|
|
|
|
- ioquit: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = ioquit
|
|
background_cmd = "for i in 1 2 3 4; do (dd if=/dev/urandom of=/tmp/file bs=102400 count=10000000 &); done"
|
|
check_cmd = ps -a |grep dd
|
|
login_timeout = 360
|
|
|
|
- multi_disk: install setup image_copy unattended_install.cdrom
|
|
type = multi_disk
|
|
force_create_image = yes
|
|
force_create_image_image1 = no
|
|
remove_image = yes
|
|
remove_image_image1 = no
|
|
cmd_timeout = 1000
|
|
block_list = C: D: vda vda1 vda2 hda hda1 hda2 sda sda1 sda2
|
|
variants:
|
|
- signal_repeat:
|
|
images += " stg"
|
|
image_format_stg = qcow2
|
|
image_name_stg = storage
|
|
image_size_stg = 1G
|
|
n_repeat = 10
|
|
- max_disk:
|
|
only virtio_blk
|
|
images += " stg stg2 stg3 stg4 stg5 stg6 stg7 stg8 stg9 stg10 stg11 stg12 stg13 stg14 stg15 stg16 stg17 stg18 stg19 stg20 stg21 stg22 stg23"
|
|
image_name_stg = storage
|
|
image_name_stg2 = storage2
|
|
image_name_stg3 = storage3
|
|
image_name_stg4 = storage4
|
|
image_name_stg5 = storage5
|
|
image_name_stg6 = storage6
|
|
image_name_stg7 = storage7
|
|
image_name_stg8 = storage8
|
|
image_name_stg9 = storage9
|
|
image_name_stg10 = storage10
|
|
image_name_stg11 = storage11
|
|
image_name_stg12 = storage12
|
|
image_name_stg13 = storage13
|
|
image_name_stg14 = storage14
|
|
image_name_stg15 = storage15
|
|
image_name_stg16 = storage16
|
|
image_name_stg17 = storage17
|
|
image_name_stg18 = storage18
|
|
image_name_stg19 = storage19
|
|
image_name_stg20 = storage20
|
|
image_name_stg21 = storage21
|
|
image_name_stg22 = storage22
|
|
image_name_stg23 = storage23
|
|
|
|
- clock_getres: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = clock_getres
|
|
|
|
- yum_update: install setup image_copy unattended_install.cdrom
|
|
only Fedora, RHEL
|
|
type = yum_update
|
|
shell_prompt = "Is this ok"
|
|
|
|
- kdump: install setup image_copy unattended_install.cdrom
|
|
only RHEL.5, RHEL.6
|
|
type = kdump
|
|
# time waited for the completion of crash dump
|
|
# crash_timeout = 360
|
|
# command to add the crashkernel=X@Y to kernel cmd line
|
|
# kernel_param_cmd = "grubby --update-kernel=`grubby --default-kernel` --args=crashkernel=128M@64M"
|
|
# command to enable kdump service
|
|
# kdump_enable_cmd = chkconfig kdump on && service kdump start
|
|
# command to probe the crash kernel
|
|
# crash_kernel_prob_cmd = "grep -q 1 /sys/kernel/kexec_crash_loaded"
|
|
|
|
- vmstop: install setup image_copy unattended_install.cdrom
|
|
type = vmstop
|
|
# the path used to store the saved vm state
|
|
# save_path = /tmp
|
|
# clean the state file?
|
|
clean_save = yes
|
|
|
|
- cdrom_test: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
start_vm = no
|
|
type = cdrom
|
|
cdrom_cd1 = orig.iso
|
|
max_times = 20
|
|
|
|
- nmi_watchdog: install setup image_copy unattended_install.cdrom
|
|
type = nmi_watchdog
|
|
get_nmi_cmd = grep NMI /proc/interrupts
|
|
nmi_watchdog_type = 1
|
|
image_snapshot = yes
|
|
only Linux
|
|
|
|
- floppy: install setup image_copy unattended_install.cdrom
|
|
type = floppy
|
|
start_vm = no
|
|
floppy = images/test_floppy.img
|
|
|
|
- trans_hugepage: install setup image_copy unattended_install.cdrom
|
|
thp_test_config = ""
|
|
kill_vm = yes
|
|
login_timeout = 360
|
|
variants:
|
|
- base:
|
|
type = trans_hugepage
|
|
dd_timeout = 900
|
|
- defrag:
|
|
type = trans_hugepage_defrag
|
|
- swapping:
|
|
type = trans_hugepage_swapping
|
|
dd_timeout = 900
|
|
check_cmd_timeout = 900
|
|
|
|
- cpu_hotplug_test:
|
|
type = cpu_hotplug
|
|
cpu_hotplug_timeout = 600
|
|
n_cpus_add = 1
|
|
kill_vm = yes
|
|
iterations = 5
|
|
onoff_iterations = 100
|
|
|
|
- usb: install setup image_copy unattended_install.cdrom
|
|
only Linux
|
|
type = usb
|
|
kill_vm = yes
|
|
format_timeout = 400
|
|
images += " stg"
|
|
image_name_stg = "usbdevice"
|
|
image_format_stg = "qcow2"
|
|
image_boot_stg = no
|
|
drive_format_stg = "usb2"
|
|
drive_index_stg = 1
|
|
create_image_stg = yes
|
|
image_size_stg = 10M
|
|
fdisk_string = "10 MB, 10485760 bytes"
|
|
|
|
- hdparm:
|
|
only Linux
|
|
type = hdparm
|
|
get_disk_cmd = \ls /dev/[vhs]da
|
|
low_status_cmd = hdparm -a64 -d0 -u0 %s
|
|
device_cache_read_cmd = hdparm -tT %s
|
|
high_status_cmd = hdparm -a256 -d1 -u1 %s
|
|
cmd_timeout = 540
|
|
virtio_blk:
|
|
get_disk_cmd = \ls /dev/vda
|
|
low_status_cmd = hdparm -a32 -r0 %s
|
|
high_status_cmd = hdparm -a256 -r1 %s
|
|
|
|
# system_powerdown, system_reset and shutdown *must* be the last ones
|
|
# defined (in this order), since the effect of such tests can leave
|
|
# the VM on a bad state.
|
|
- system_powerdown: install setup image_copy unattended_install.cdrom
|
|
type = shutdown
|
|
shutdown_method = system_powerdown
|
|
sleep_before_powerdown = 20
|
|
kill_vm = yes
|
|
|
|
- system_reset: install setup image_copy unattended_install.cdrom
|
|
type = boot
|
|
reboot_method = system_reset
|
|
sleep_before_reset = 20
|
|
kill_vm_on_error = yes
|
|
|
|
- system_reset_bootable: install setup image_copy unattended_install.cdrom
|
|
type = system_reset_bootable
|
|
interval = 1
|
|
reset_times = 20
|
|
wait_time_for_reset = 120
|
|
kill_vm_on_error = yes
|
|
|
|
- shutdown: install setup image_copy unattended_install.cdrom
|
|
type = shutdown
|
|
shutdown_method = shell
|
|
kill_vm = yes
|
|
kill_vm_gracefully = no
|