Home | History | Annotate | Download | only in kvm
      1 # Copy this file to subtests.cfg and edit it.
      2 #
      3 # Subtests
      4 variants:
      5     - install:
      6         type = steps
      7         fail_if_stuck_for = 300
      8         stuck_detection_history = 2
      9         keep_screendump_history = yes
     10         force_create_image = yes
     11         kill_vm = yes
     12         kill_vm_timeout = 60
     13         kill_vm_timeout_on_error = 0
     14 
     15     - setup: install
     16         type = steps
     17         fail_if_stuck_for = 300
     18         stuck_detection_history = 2
     19         kill_vm_on_error = yes
     20         keep_screendump_history = yes
     21 
     22     - image_copy:
     23         type = image_copy
     24         vms = ''
     25         parallel = no
     26         profilers =
     27 
     28     - unattended_install:
     29         type = unattended_install
     30         start_vm = no
     31         kill_vm = yes
     32         kill_vm_gracefully = yes
     33         kill_vm_on_error = yes
     34         shutdown_cleanly = yes
     35         shutdown_cleanly_timeout = 120
     36         force_create_image = yes
     37         extra_params += " -boot d"
     38         guest_port_unattended_install = 12323
     39         kernel = vmlinuz
     40         initrd = initrd.img
     41         # Set migrate_background to yes to run migration in parallel
     42         migrate_background = no
     43 
     44         variants:
     45             # Install guest from cdrom 
     46             - cdrom:
     47                 medium = cdrom
     48                 redirs += " unattended_install"
     49             # Install guest from http/ftp url
     50             - url:
     51                 only Linux
     52                 medium = url
     53                 url = REPLACE_THIS_WITH_TREE_URL
     54             # Install guest from nfs nfs_server:nfs_dir
     55             - nfs:
     56                 only Linux
     57                 medium = nfs
     58                 nfs_server = REPLACE_THIS_WITH_NFS_SERVER
     59                 nfs_dir = REPLACE_THIS_WITH_NFS_DIRECTORY
     60             # Install guest with a remote kickstart
     61             - remote_ks:
     62                 only Linux
     63                 medium = url
     64                 extra_params = " --append ks=REPLACE_THIS_WITH_URL_OF_KS"
     65                 url = REPLACE_THIS_WITH_TREE_URL
     66 
     67     - qemu_img:
     68         type = qemu_img
     69         vms = ''
     70         profilers = ''
     71         take_regular_screendumps = no
     72         variants:
     73             - check:
     74                 subcommand = check
     75                 image_name_dd = dd_created_image
     76                 force_create_image_dd = no
     77                 remove_image_dd = yes
     78                 create_image_cmd = "dd if=/dev/zero of=%s bs=1G count=1"
     79                 # Test the convertion from 'dd_image_name' to specified format
     80                 supported_image_formats = qcow2 raw
     81             - create:
     82                 subcommand = create
     83                 images += " large"
     84                 force_create_image_large = yes
     85                 image_size_large = 1G
     86                 image_name_large = create_large_image
     87                 remove_image_large = yes
     88             - convert:
     89                 subcommand = convert
     90                 variants:
     91                     - to_qcow2:
     92                         dest_image_format = qcow2
     93                         compressed = no
     94                         encrypted = no
     95                     - to_raw:
     96                         dest_image_format = raw
     97             - snapshot:
     98                 subcommand = snapshot
     99             - info:
    100                 subcommand = info
    101             - rebase:
    102                 subcommand = rebase
    103                 rebase_mode = unsafe
    104                 image_name_snapshot1 = sn1
    105                 image_name_snapshot2 = sn2
    106 
    107     - pxe:
    108         type = pxe
    109         images = pxe
    110         image_name_pxe = pxe-test
    111         image_size_pxe = 1G
    112         force_create_image_pxe = yes
    113         remove_image_pxe = yes
    114         extra_params += ' -boot n'
    115         kill_vm_on_error = yes
    116         network = bridge
    117         restart_vm = yes
    118         pxe_timeout = 60
    119 
    120     - module_probe:
    121         type = module_probe
    122         # You can specify your own module list, though it is not needed usually.
    123         # mod_list = kvm
    124         load_count = 100
    125         vms = ''
    126         profilers = ''
    127         take_regular_screendumps = no
    128 
    129 # Tests that do need installed guests to run
    130     - boot: install setup image_copy unattended_install.cdrom
    131         type = boot
    132         restart_vm = yes
    133         kill_vm_on_error = yes
    134         login_timeout = 240
    135 
    136     - reboot: install setup image_copy unattended_install.cdrom
    137         type = boot
    138         reboot_method = shell
    139         kill_vm_on_error = yes
    140         login_timeout = 240
    141 
    142     - migrate: install setup image_copy unattended_install.cdrom
    143         type = migration
    144         migration_test_command = help
    145         migration_bg_command = "cd /tmp; nohup tcpdump -q -t ip host localhost"
    146         migration_bg_check_command = pgrep tcpdump
    147         migration_bg_kill_command = pkill tcpdump
    148         kill_vm_on_error = yes
    149         iterations = 2
    150         used_mem = 1024
    151         mig_timeout = 3600
    152         # you can uncomment the following line to enable the state
    153         # check
    154         # vmstate_check = yes
    155         variants:
    156             - tcp:
    157                 migration_protocol = "tcp"
    158             - unix:
    159                 migration_protocol = "unix"
    160             - exec:
    161                 migration_protocol = "exec"
    162             - mig_cancel:
    163                 migration_protocol = "tcp"
    164                 mig_cancel = yes
    165         variants:
    166             - @default:
    167             - with_set_speed:
    168                 mig_speed = 1G
    169                 pre_migrate = "mig_set_speed"
    170             - with_reboot:
    171                 iterations = 1
    172                 type = migration_with_reboot
    173             - with_file_transfer:
    174                 iterations = 1
    175                 type = migration_with_file_transfer
    176             - with_autotest:
    177                 only Linux
    178                 type = autotest
    179                 migrate_background = yes
    180                 test_timeout = 1800
    181                 variants:
    182                     - dbench:
    183                         test_control_file = dbench.control
    184                     - stress:
    185                         test_control_file = stress.control
    186                     - monotonic_time:
    187                         test_control_file = monotonic_time.control
    188 
    189     - migrate_multi_host: install setup image_copy unattended_install.cdrom
    190         type = migration_multi_host
    191         migration_test_command = help
    192         migration_bg_command = "cd /tmp; nohup tcpdump -q -t ip host localhost"
    193         migration_bg_check_command = pgrep tcpdump
    194         migration_bg_kill_command = pkill tcpdump
    195         kill_vm_on_error = yes
    196         iterations = 2
    197         used_mem = 1024
    198         mig_timeout = 3600
    199         comm_port = 13234
    200         regain_ip_cmd = dhclient
    201 
    202     - boot_savevm: install setup image_copy unattended_install.cdrom
    203         type = boot_savevm
    204         savevm_delay = 0.3
    205         savevm_login_delay = 120
    206         savevm_timeout = 2000
    207         kill_vm_on_error = yes
    208         kill_vm_gracefully = yes
    209         kill_vm = yes
    210 
    211     - autotest: install setup image_copy unattended_install.cdrom
    212         only Linux
    213         type = autotest
    214         test_timeout = 1800
    215         variants:
    216             - sleeptest:
    217                 test_timeout = 120
    218                 test_control_file = sleeptest.control
    219             - dbench:
    220                 test_control_file = dbench.control
    221             - bonnie:
    222                 test_control_file = bonnie.control
    223             - ebizzy:
    224                 test_control_file = ebizzy.control
    225             - ffsb:
    226                 test_control_file = ffsb.control
    227             - stress:
    228                 test_control_file = stress.control
    229             - disktest:
    230                 test_control_file = disktest.control
    231             - ctcs:
    232                 # If you think this is too lengthy, please change the cerberus
    233                 # control file and set this timeout appropriately.
    234                 test_timeout = 3900
    235                 test_control_file = ctcs.control
    236             - npb:
    237                 test_control_file = npb.control
    238             - hackbench:
    239                 test_control_file = hackbench.control
    240             - cpu_hotplug:
    241                 test_control_file = cpu_hotplug.control
    242             - monotonic_time:
    243                 test_control_file = monotonic_time.control
    244             - tsc:
    245                 test_control_file = tsc.control
    246             - scrashme:
    247                 test_control_file = scrashme.control
    248             - hwclock:
    249                 test_control_file = hwclock.control
    250             - rtc:
    251                 test_control_file = rtc.control
    252             - iozone:
    253                 test_control_file = iozone.control
    254             - flail:
    255                 test_control_file = flail.control
    256             - systemtap:
    257                 test_control_file = systemtap.control
    258 
    259     - qemu_img_commit:  install setup image_copy unattended_install.cdrom
    260         type = qemu_img
    261         subcommand = commit
    262 
    263     - stop_continue: install setup image_copy unattended_install.cdrom
    264         type = stop_continue
    265         kill_vm_on_error = yes
    266 
    267     - linux_s3: install setup image_copy unattended_install.cdrom
    268         only Linux
    269         type = linux_s3
    270 
    271     - timedrift: install setup image_copy unattended_install.cdrom
    272         variants:
    273             - ntp:
    274                 variants:
    275                     - with_load:
    276                         type = timedrift
    277                         # Pin the VM and host load to CPU #0
    278                         cpu_mask = 0x1
    279                         # Set the load and rest durations
    280                         load_duration = 20
    281                         rest_duration = 20
    282                         # Fail if the drift after load is higher than 50%
    283                         drift_threshold = 50
    284                         # Fail if the drift after the rest period is higher than 10%
    285                         drift_threshold_after_rest = 10
    286                         # For now, make sure this test is executed alone
    287                         used_cpus = 100
    288                     - with_migration:
    289                         type = timedrift_with_migration
    290                         migration_iterations = 3
    291                         drift_threshold = 10
    292                         drift_threshold_single = 3
    293                     - with_reboot:
    294                         type = timedrift_with_reboot
    295                         reboot_iterations = 1
    296                         drift_threshold = 10
    297                         drift_threshold_single = 3
    298                     - with_stop:
    299                         type = timedrift_with_stop
    300                         stop_interations = 1
    301                         drift_threshold = 10
    302                         drift_threshold_single = 3
    303             - date:
    304                 variants:
    305                     - with_load:
    306                         type = timedrift
    307                         # Pin the VM and host load to CPU #0
    308                         cpu_mask = 0x1
    309                         # Set the load and rest durations
    310                         load_duration = 20
    311                         rest_duration = 20
    312                         # Fail if the drift after load is higher than 50%
    313                         drift_threshold = 50
    314                         # Fail if the drift after the rest period is higher than 10%
    315                         drift_threshold_after_rest = 10
    316                         # For now, make sure this test is executed alone
    317                         used_cpus = 100
    318                     - with_migration:
    319                         type = timedrift_with_migration
    320                         migration_iterations = 3
    321                         drift_threshold = 10
    322                         drift_threshold_single = 3
    323                     - with_reboot:
    324                         type = timedrift_with_reboot
    325                         reboot_iterations = 1
    326                         drift_threshold = 10
    327                         drift_threshold_single = 3
    328                     - with_stop:
    329                         type = timedrift_with_stop
    330                         stop_interations = 1
    331                         drift_threshold = 10
    332                         drift_threshold_single = 3
    333 
    334     - balloon_check: install setup image_copy unattended_install.cdrom
    335         no Win2000, Fedora.8, Fedora.9, Fedora.10, RHEL.3, RHEL.4, Unix, livecd
    336         type = balloon_check
    337         extra_params += " -balloon virtio"
    338         iterations = 5
    339 
    340     - watchdog: install setup image_copy unattended_install.cdrom
    341         only RHEL.5, RHEL.6
    342         type = watchdog
    343         extra_params += " -watchdog i6300esb -watchdog-action reset"
    344         relogin_timeout = 240
    345 
    346     - smbios_table: install setup image_copy unattended_install.cdrom
    347         only Linux
    348         type = smbios_table
    349         start_vm = no
    350 
    351     - softlockup: install setup unattended_install.cdrom
    352         only Linux
    353         type = softlockup
    354         softlockup_files = stress-1.0.4.tar.gz
    355         stress_setup_cmd = "cd %s && tar xvf stress-1.0.4.tar.gz && cd stress-1.0.4 && ./configure && make && cd src"
    356         server_setup_cmd = "%s/heartbeat_slu.py --server --threshold %s --file %s --port %s --verbose --check-drift"
    357         client_setup_cmd = "%s/heartbeat_slu.py --client --address %s --file %s --port %s --interval 1"
    358         stress_cmd  = "cd %s && cd stress-1.0.4 && cd src && nohup ./stress -c %s > /dev/null 2>&1&"
    359         kill_monitor_cmd = "ps aux | grep heart | grep -v grep | awk '{print$2}' | xargs kill -9 > /dev/null 2>&1"
    360         kill_stress_cmd = "pkill -f stress > /dev/null 2>&1"
    361         drift_cmd = "tail -1 %s | awk '{print $7}'"
    362         monitor_log_file_server = /tmp/heartbeat_server.log
    363         monitor_log_file_client = /tmp/heartbeat_client.log
    364         monitor_port = 13330
    365         stress_threshold = 10
    366         # time_to_run (hours) = 12, 18, 24, 48 hours
    367         test_length = 0.10
    368 
    369     - stress_boot: install setup image_copy unattended_install.cdrom
    370         type = stress_boot
    371         max_vms = 5    
    372         alive_test_cmd = uname -a
    373         login_timeout = 240
    374         kill_vm = yes
    375         kill_vm_vm1 = no
    376         kill_vm_gracefully = no
    377         extra_params += " -snapshot"
    378         used_cpus = 5
    379         used_mem = 2560
    380 
    381     - guest_test: install setup image_copy unattended_install.cdrom
    382         only Windows
    383         type = guest_test
    384         login_timeout = 360
    385         test_timeout = 600
    386         script_params =
    387         reboot = yes
    388         variants:
    389             - autoit:
    390                 interpreter = "cmd /c D:\AutoIt3.exe"
    391                 variants:
    392                     - notepad:
    393                         guest_script = autoit/notepad1.au3
    394                         dst_rsc_path = "C:\script.au3"
    395                     - stub:
    396                         download = yes
    397                         download_cmd = "git clone"
    398                         rsc_server = "git://the.resource.server/autoit"
    399                         dst_rsc_dir = "C:\"
    400                         dst_rsc_path = "C:\autoit\stub\stub.au3"
    401             - powershell:
    402                 interpreter = "cmd /c powershell.exe -File"
    403                 variants:
    404                     - stub:
    405                         download = yes
    406                         download_cmd = "git clone"
    407                         rsc_server = "git://the.resource.server/powershell"
    408                         dst_rsc_dir = "C:\"
    409                         dst_rsc_path = "C:\powershell\stub\stub.ps1"
    410 
    411     - iozone_windows: install setup image_copy unattended_install.cdrom
    412         only Windows
    413         type = iozone_windows
    414         iozone_cmd = "D:\IOzone\iozone.exe -a"
    415         iozone_timeout = 3600
    416 
    417     - whql: install setup image_copy unattended_install.cdrom
    418         only Windows
    419         nic_mode = tap
    420         # Replace this with the address of an installed DTM server
    421         server_address = 10.20.30.40
    422         # The server should run rss.exe like a regular Windows VM, preferably
    423         # with administrator privileges (or at least with permission to write
    424         # to the DTM studio directory)
    425         server_shell_port = 10022
    426         server_file_transfer_port = 10023
    427         server_studio_path = %programfiles%\Microsoft Driver Test Manager\Studio
    428         dsso_test_binary = deps/whql_submission_15.exe
    429         dsso_delete_machine_binary = deps/whql_delete_machine_15.exe
    430         wtt_services = wttsvc
    431         variants:
    432             - support_vm_install:
    433                 # The support VM is identical to the tested VM in every way
    434                 # except for the image name which ends with '-supportvm'.
    435                 type = unattended_install
    436                 image_name += -supportvm
    437                 extra_params += " -boot d"
    438                 force_create_image = yes
    439                 kill_vm = yes
    440                 nic_mode = user
    441                 redirs += " unattended_install"
    442                 guest_port_unattended_install = 12323
    443                 medium = cdrom
    444                 kernel =
    445                 initrd = 
    446             - client_install:    support_vm_install
    447                 type = whql_client_install
    448                 # The username and password are required for accessing the DTM client
    449                 # installer binary shared by the server
    450                 server_username = administrator
    451                 server_password = 1q2w3eP
    452                 # This path refers to a shared directory on the server
    453                 # (the final cmd will be something like \\servername\DTMInstall\...)
    454                 install_cmd = \DTMInstall\Client\Setup.exe /passive
    455                 install_timeout = 3600
    456                 # The test will setup auto logon on the client machine using the
    457                 # following username and password:
    458                 client_username = DTMLLUAdminUser
    459                 client_password = Testpassword,1
    460                 # (These are created by the DTM client installer and should probably not
    461                 # be changed.)
    462                 variants:
    463                     - @original:
    464                     - support_vm:
    465                         image_name += -supportvm
    466             - submission:    client_install support_vm_install
    467                 type = whql_submission
    468                 extra_params += " -snapshot"
    469                 restart_vm = yes
    470                 cdroms =
    471                 test_timeout = 3600
    472                 device_data = cat0 cat1 cat2 cat3 prog desc virt filter logoarch logoos whqlos whqlqual
    473                 descriptors = desc1 desc2 desc3
    474                 # DeviceData names
    475                 dd_name_cat0     = Category
    476                 dd_name_cat1     = Category
    477                 dd_name_cat2     = Category
    478                 dd_name_cat3     = Category
    479                 dd_name_logoarch = LogoProcessorArchitecture
    480                 dd_name_logoos   = LogoOperatingSystem
    481                 dd_name_whqlos   = WhqlOs
    482                 dd_name_whqlqual = WhqlQualification
    483                 dd_name_prog     = LogoProgramId
    484                 dd_name_desc     = LogoProgramDescription
    485                 dd_name_filter   = WDKFilterAttribute
    486                 dd_name_virt     = ParaVirtualizationDriver
    487                 # Common DeviceData data
    488                 dd_data_filter   = FilterIfNoInf
    489                 dd_data_virt     = True
    490                 # Exclude jobs that have '(Manual)' in their names
    491                 job_filter = ^((?!\(Manual\)).)*$
    492                 variants:
    493                     - unclassified:
    494                         dd_data_cat0 = Device Fundamentals
    495                         dd_data_cat1 = System Fundamentals\Dynamic Partitioning
    496                         dd_data_prog = Unclassified
    497                         dd_data_desc = Unclassified
    498                         dd_data_whqlqual = Unclassified Signature
    499                         variants:
    500                             - tablet:
    501                                 submission_name = tablet
    502                                 extra_params += " -usbdevice tablet"
    503                                 test_device = HID-compliant mouse
    504                                 test_timeout = 36000
    505                     - device:
    506                         variants:
    507                             - keyboard:
    508                                 submission_name = keyboard
    509                                 # test_device is a regular expression that should match a device's
    510                                 # name as it appears in device manager.  The first device that matches
    511                                 # is used.
    512                                 test_device = keyboard
    513                                 # Set timeout to 10 hours
    514                                 test_timeout = 36000
    515                                 dd_data_cat0 = Input\Keyboard
    516                                 dd_data_cat1 = Device Fundamentals
    517                                 dd_data_cat2 = System Fundamentals\Dynamic Partitioning
    518                                 dd_data_prog = InputKbd
    519                                 dd_data_desc = Input > Keyboard
    520                             - net:
    521                                 submission_name = net
    522                                 # Add a support machine and extra NICs
    523                                 vms += " supportvm"
    524                                 nics += " nic2 nic3"
    525                                 test_device = RTL8139.*NIC$
    526                                 test_timeout = 86400
    527                                 dd_data_cat0 = Network\LAN (Ethernet)
    528                                 dd_data_cat1 = Device Fundamentals
    529                                 dd_data_cat2 = System Fundamentals\Dynamic Partitioning
    530                                 dd_data_prog = NetLan
    531                                 dd_data_desc = Network > LAN (Ethernet)
    532                                 # Machine dimensions
    533                                 dimensions = testrole
    534                                 dim_name_testrole = NetDevice\TestRole
    535                                 dim_value_testrole_vm1 = NdistestLanClient
    536                                 dim_value_testrole_supportvm = NdistestLanServer
    537                                 # Device selection for the NDISTest client machine
    538                                 device_params_vm1 = testdev clientmsgdev clientsupportdev
    539                                 dp_name_testdev = NdistestLanClientTestDevice
    540                                 dp_regex_testdev = RTL8139.*NIC$
    541                                 dp_name_clientmsgdev = NdistestLanClientMessageDevice
    542                                 dp_regex_clientmsgdev = RTL8139.*NIC #2$
    543                                 dp_name_clientsupportdev = NdistestLanClientSupportDevice0
    544                                 dp_regex_clientsupportdev = RTL8139.*NIC #3$
    545                                 # Device selection for the NDISTest server machine
    546                                 device_params_supportvm = servermsgdev serversupportdev
    547                                 dp_name_servermsgdev = NdistestLanServerMessageDevice
    548                                 dp_regex_servermsgdev = RTL8139.*NIC$
    549                                 dp_name_serversupportdev = NdistestLanServerSupportDevice0
    550                                 dp_regex_serversupportdev = RTL8139.*NIC #2$
    551                             - hdd:
    552                                 submission_name = hdd
    553                                 # Run the tests on a non-system drive
    554                                 # (match device names that contain 'QEMU HARDDISK' and do not contain '[C]')
    555                                 test_device = ^(?=.*?\bQEMU HARDDISK\b)((?!\[C\]).)*$
    556                                 device_data += " ex0 ex1 ex2 ex3"
    557                                 dd_data_cat0 = Storage\Device Class\Disk\Disk
    558                                 dd_data_cat1 = Storage\Device Class\Disk\Fixed
    559                                 dd_data_cat2 = Storage\Device Class\Disk\Bus\ATA
    560                                 dd_data_cat3 = Device Fundamentals
    561                                 dd_data_prog = StorHDD
    562                                 dd_data_desc = Storage > Hard Disk Drive (HDD)
    563                                 dd_name_ex0 = Storage_bus_type
    564                                 dd_data_ex0 = ATA/ATAPI
    565                                 dd_name_ex1 = Hybrid_HDD_Support
    566                                 dd_data_ex1 = 0
    567                                 dd_name_ex2 = Non_Rotating_Media
    568                                 dd_data_ex2 = 0
    569                                 dd_name_ex3 = Secure_Storage
    570                                 dd_data_ex3 = 0
    571                                 # Add a 2nd disk which will become D:
    572                                 images += " tmp"
    573                                 image_name_tmp = tmp
    574                                 image_size_tmp = 4G
    575                                 force_create_image_tmp = yes
    576                                 # Run diskpart to partition the 2nd disk
    577                                 whql_pre_command = "echo select disk=1 > dp.txt && "
    578                                 whql_pre_command += "echo create partition primary >> dp.txt && "
    579                                 whql_pre_command += "echo assign letter=d >> dp.txt && "
    580                                 whql_pre_command += "diskpart /s dp.txt & "
    581                                 whql_pre_command += "format d: /fs:ntfs /q /y"
    582                                 variants:
    583                                     - full:
    584                                         # Yes, 100 hours, this is not a mistake
    585                                         test_timeout = 360000
    586                                     - syscache_test:
    587                                         job_filter = syscache test
    588                                         test_timeout = 7200
    589 
    590     - guest_s4: install setup image_copy unattended_install.cdrom
    591         type = guest_s4
    592         check_s4_support_cmd = grep -q disk /sys/power/state
    593         test_s4_cmd = "cd /tmp; nohup tcpdump -q -t ip host localhost"
    594         check_s4_cmd = pgrep tcpdump
    595         set_s4_cmd = echo disk > /sys/power/state
    596         kill_test_s4_cmd = pkill tcpdump
    597         services_up_timeout = 30
    598         relogin_timeout = 240
    599 
    600     - nic_hotplug: install setup image_copy unattended_install.cdrom
    601         pci_type = nic
    602         reference_cmd = lspci
    603         find_pci_cmd = 'lspci | tail -n1'
    604         pci_test_cmd = 'nslookup www.redhat.com'
    605         wait_secs_for_hook_up = 3
    606         variants:
    607             - nic_8139:
    608                 pci_model = rtl8139
    609                 match_string = "8139"
    610             - nic_virtio:
    611                 pci_model = virtio
    612                 match_string = "Virtio network device"
    613             - nic_e1000:
    614                 pci_model = e1000
    615                 match_string = "Gigabit Ethernet Controller"
    616         variants:
    617             - default:
    618                 type = pci_hotplug
    619             - additional:
    620                 type = nic_hotplug
    621 
    622 
    623     - block_hotplug: install setup image_copy unattended_install.cdrom
    624         type = pci_hotplug
    625         pci_type = block
    626         reference_cmd = lspci
    627         find_pci_cmd = 'lspci | tail -n1'
    628         images += " stg"
    629         boot_drive_stg = no
    630         image_name_stg = storage
    631         image_size_stg = 1G
    632         remove_image_stg = yes
    633         force_create_image_stg = yes
    634         pci_test_cmd = "yes | mke2fs `fdisk -l 2>&1 | awk '/\/dev\/[sv]d[a-z] doesn/ {print $2}'`"
    635         wait_secs_for_hook_up = 3
    636         kill_vm_on_error = yes
    637         variants:
    638             - block_virtio:
    639                 pci_model = virtio
    640                 match_string = "Virtio block device"
    641             - block_scsi:
    642                 pci_model = scsi
    643                 match_string = "LSI Logic"
    644         variants:
    645             - fmt_qcow2:
    646                 image_format_stg = qcow2
    647             - fmt_raw:
    648                 image_format_stg = raw
    649 
    650     - enospc: install setup image_copy unattended_install.cdrom
    651         type = enospc
    652         start_vm = no
    653         images += " stg"
    654         drive_werror = stop
    655         drive_cache = none
    656         image_name_stg = enospc
    657         image_format_stg = qcow2
    658         image_boot_stg = no
    659         image_snapshot_stg = no
    660         check_image_stg = no
    661         vgtest_name = vg_kvm_test_enospc
    662         lvtest_name = lv_kvm_test_enospc
    663         background_cmd = "nohup dd if=/dev/zero of=%s bs=1024 &"
    664         kill_vm = yes
    665 
    666     - qmp_basic: install setup image_copy unattended_install.cdrom
    667         type = qmp_basic
    668 
    669     - qmp_basic_rhel6: install setup image_copy unattended_install.cdrom
    670         type = qmp_basic_rhel6
    671 
    672     - vlan: install setup image_copy unattended_install.cdrom
    673         only Linux
    674         type = vlan
    675         # subnet should not be used by host
    676         subnet = "192.168"
    677         vlan_num = 5
    678         file_size = 10
    679         maximal = 4094
    680         listen_cmd = "nc -l %s > %s"
    681         send_cmd = "nc %s %s < %s"
    682         nic_mode = tap
    683         vms += " vm2"
    684         image_snapshot = yes
    685         kill_vm_vm2 = yes
    686         kill_vm_gracefully_vm2 = no
    687 
    688     - ping: install setup image_copy unattended_install.cdrom
    689         type = ping
    690         counts = 100
    691         flood_minutes = 10
    692         nics += ' nic2'
    693 
    694     - jumbo: install setup image_copy unattended_install.cdrom
    695         only Linux
    696         type = jumbo
    697 
    698     - file_transfer: install setup image_copy unattended_install.cdrom
    699         type = file_transfer
    700         filesize = 4000
    701         transfer_timeout = 1000
    702         variants:
    703             - remote:
    704                 transfer_type = remote
    705 
    706     - nicdriver_unload: install setup image_copy unattended_install.cdrom
    707         only Linux
    708         type = nicdriver_unload
    709         nic_mode = tap
    710         filesize = 100
    711         transfer_timeout = 100
    712         transfer_type = remote
    713         sessions_num = 10
    714 
    715     - nic_promisc: install setup image_copy unattended_install.cdrom
    716         only Linux
    717         type = nic_promisc
    718         filesize = 400
    719         transfer_timeout = 100
    720         transfer_type = remote
    721 
    722     - multicast: install setup image_copy unattended_install.cdrom
    723         only Linux
    724         type = multicast
    725         nic_mode = tap
    726         mcast = 225.0.0.1
    727         mgroup_count = 20
    728         flood_minutes = 1
    729 
    730     - mac_change: install setup image_copy unattended_install.cdrom
    731         only Linux
    732         type = mac_change
    733         kill_vm = yes
    734 
    735     - netperf: install setup image_copy unattended_install.cdrom
    736         only Linux
    737         type = netperf
    738         nics += ' nic2 nic3 nic4'
    739         nic_mode = tap
    740         netperf_files = netperf-2.4.5.tar.bz2 wait_before_data.patch
    741         packet_size = 1500
    742         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"
    743         netserver_cmd =  %s/netperf-2.4.5/src/netserver
    744         variants:
    745             - stream:
    746                 netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -m %s
    747                 protocols = "TCP_STREAM TCP_MAERTS TCP_SENDFILE UDP_STREAM"
    748             - rr:
    749                 netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -r %s
    750                 protocols = "TCP_RR TCP_CRR UDP_RR"
    751 
    752     - ethtool: install setup image_copy unattended_install.cdrom
    753         only Linux
    754         type = ethtool
    755         filesize = 512
    756         nic_mode = tap
    757 
    758     - nic_bonding: install setup image_copy unattended_install.cdrom
    759         only Linux
    760         type = nic_bonding
    761         nics += ' nic2 nic3 nic4'
    762         image_snapshot = yes
    763         serial_login = yes
    764         test_timeout = 1000
    765         filesize = 4000
    766         transfer_timeout = 1000
    767         transfer_type = remote
    768         kill_vm = yes
    769         # you can specify the parameters of bonding module here
    770         # bonding_params = "mode=active-backup"
    771 
    772     - set_link: install setup image_copy unattended_install.cdrom
    773         type = set_link
    774         test_timeout = 1000
    775         filesize = 4000
    776         transfer_timeout = 1000
    777         transfer_type = remote
    778         kill_vm =yes
    779 
    780     - netstress_kill_guest: install setup unattended_install.cdrom
    781         only Linux
    782         type = netstress_kill_guest
    783         image_snapshot = yes
    784         nic_mode = tap
    785         # There should be enough vms for build topology.
    786         variants:
    787             -driver:
    788                 mode = driver
    789             -load:
    790                 mode = load
    791                 netperf_files = netperf-2.4.5.tar.bz2 wait_before_data.patch
    792                 packet_size = 1500
    793                 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"
    794                 clean_cmd = " while killall -9 netserver; do True test; done;"
    795                 netserver_cmd =  %s/netperf-2.4.5/src/netserver
    796                 netperf_cmd = %s/netperf-2.4.5/src/netperf -t %s -H %s -l 60 -- -m %s
    797 
    798     - physical_resources_check: install setup image_copy unattended_install.cdrom
    799         type = physical_resources_check
    800         catch_uuid_cmd = dmidecode | awk -F: '/UUID/ {print $2}'
    801 
    802     - ksm_overcommit: install setup image_copy unattended_install.cdrom
    803         only Linux
    804         # Don't preprocess any vms as we need to change its params
    805         vms = ''
    806         image_snapshot = yes
    807         kill_vm_gracefully = no
    808         type = ksm_overcommit
    809         # Make host use swap (a value of 'no' will turn off host swap)
    810         ksm_swap = yes
    811         no hugepages
    812         # Overcommit of host memmory
    813         ksm_overcommit_ratio = 3
    814         # Max paralel runs machine
    815         ksm_parallel_ratio = 4
    816         # Host memory reserve (default - best fit for used mem)
    817         # ksm_host_reserve = 512
    818         # ksm_guest_reserve = 1024
    819         variants:
    820             - ksm_serial:
    821                 ksm_mode = "serial"
    822             - ksm_parallel:
    823                 ksm_mode = "parallel"
    824 
    825     - iofuzz: install setup image_copy unattended_install.cdrom
    826         only Linux
    827         type = iofuzz
    828 
    829     - virtio_console: install setup image_copy unattended_install.cdrom
    830         only Linux
    831         vms = ''
    832         type = virtio_console
    833         # Default number of consoles
    834         virtio_console_no_serialports = 0
    835         virtio_console_no_consoles = 0
    836 
    837         # smoke params - $console_type:data_string
    838         # FIXME: test_smoke doesn't work with console yet (virtio_console bug)
    839         # "serialport;console:Custom data"
    840         smoke_test = yes
    841         virtio_console_smoke = "serialport"
    842         # loopback params - '$source_console_type@buffer_length:$destination_console_type1@buffer_length:...:$loopback_buffer_length;...'
    843         loopback_test = yes
    844         virtio_console_loopback = "serialport:serialport;serialport@1024:serialport@32:console@1024:console@8:16"
    845         # perf params - $console_type@buffer_length:$test_duration
    846         # FIXME: test_perf doesn't work with console yet (virtio_console bug)
    847         # virtio_console_perf = "serialport;serialport@1000000:120;console@1024:60"
    848         perf_test = yes
    849         virtio_console_perf = "serialport;serialport@1000000:120"
    850         # Enable destructive tests: "test_name  = yes"
    851         # Disable test: change yes or delete key.
    852         rmmod_test = yes
    853         max_ports_test = yes
    854         shutdown_test = yes
    855 
    856         # Offline migration params - '$console_type:$no_migrations:$send-:$recv-$loopback-buffer_length'
    857         migrate_offline_test = yes
    858         virtio_console_migration_offline = "serialport:1:2048:2048:2048;serialport:5:4096:4096:4096"
    859 
    860         # Online migration params - '$console_type:$no_migrations:$send-:$recv-$loopback-buffer_length'
    861         migrate_online_test = yes
    862         virtio_console_migration_online = "serialport:1:2048:2048:2048;serialport:5:4096:4096:4096"
    863 
    864         hotplug_test = yes
    865         hotplug_serial_test = yes
    866         hotplug_console_test = no
    867 
    868     # This unit test module is for older branches of KVM that use the
    869     # kvmctl test harness (such as the code shipped with RHEL 5.x)
    870     - unit_test_kvmctl:
    871         type = unit_test
    872         vms = ''
    873         profilers = ''
    874         variants:
    875             - access:
    876                 case = access
    877             - apic:
    878                 case = apic
    879             - emulator:
    880                 case = emulator
    881             - hypercall:
    882                 case = hypercall
    883             - msr:
    884                 case = msr
    885             - port80:
    886                 case = port80
    887             - realmode:
    888                 case = realmode
    889             - sieve:
    890                 case = sieve
    891             - smptest:
    892                 case = smptest
    893             - tsc:
    894                 case = tsc
    895             - stringio:
    896                 case = stringio
    897             - vmexit:
    898                 case = vmexit
    899 
    900     - fillup_disk: install setup image_copy unattended_install.cdrom
    901         only Linux
    902         only qcow2
    903         type = fillup_disk
    904         fillup_timeout = 120
    905         fillup_size = 200
    906         fillup_cmd = "dd if=/dev/zero of=/%s/fillup.%d bs=%dM count=1 oflag=direct"
    907         kill_vm = yes
    908 
    909     - lvm: install setup image_copy unattended_install.cdrom
    910         only Linux
    911         images += ' stg1 stg2'
    912         image_name_stg1 = storage_4k
    913         image_cluster_size_stg1 = 4096
    914         image_size_stg1 = 1G
    915         image_format_stg1 = qcow2
    916         image_name_stg2 = storage_64k
    917         image_cluster_size_stg2 = 65536
    918         image_size_stg2 = 1G
    919         image_format_stg2 = qcow2
    920         guest_testdir = /mnt
    921         disks = "/dev/sdb /dev/sdc"
    922         kill_vm = no
    923         post_command_noncritical = no
    924         variants:
    925             lvm_create:
    926                 type = lvm
    927                 force_create_image_stg1 = yes
    928                 force_create_image_stg2 = yes
    929                 clean = no
    930             lvm_fill: lvm_create
    931                 type = fillup_disk
    932                 force_create_image_stg1 = no
    933                 force_create_image_stg2 = no
    934                 guest_testdir = /mnt/kvm_test_lvm
    935                 fillup_timeout = 120
    936                 fillup_size = 20
    937                 fillup_cmd = "dd if=/dev/zero of=%s/fillup.%d bs=%dM count=1 oflag=direct"
    938             lvm_ioquit: lvm_create
    939                 type = ioquit
    940                 force_create_image_stg1 = no
    941                 force_create_image_stg2 = no
    942                 kill_vm = yes
    943                 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"
    944                 check_cmd = pgrep dd
    945                 clean = yes
    946                 remove_image_stg1 = yes
    947                 remove_image_stg2 = yes
    948 
    949     - ioquit: install setup image_copy unattended_install.cdrom
    950         only Linux
    951         type = ioquit
    952         background_cmd = "for i in 1 2 3 4; do (dd if=/dev/urandom of=/tmp/file bs=102400 count=10000000 &); done"
    953         check_cmd = ps -a |grep dd
    954         login_timeout = 360
    955 
    956     - multi_disk: install setup image_copy unattended_install.cdrom
    957         type = multi_disk
    958         force_create_image = yes
    959         force_create_image_image1 = no
    960         remove_image = yes
    961         remove_image_image1 = no
    962         cmd_timeout = 1000
    963         block_list = C: D: vda vda1 vda2 hda hda1 hda2 sda sda1 sda2
    964         variants:
    965             - signal_repeat:
    966                 images += " stg"
    967                 image_format_stg = qcow2
    968                 image_name_stg = storage
    969                 image_size_stg = 1G
    970                 n_repeat = 10
    971             - max_disk:
    972                 only virtio_blk
    973                 images += " stg stg2 stg3 stg4 stg5 stg6 stg7 stg8 stg9 stg10 stg11 stg12 stg13 stg14 stg15 stg16 stg17 stg18 stg19 stg20 stg21 stg22 stg23"
    974                 image_name_stg = storage
    975                 image_name_stg2 = storage2
    976                 image_name_stg3 = storage3
    977                 image_name_stg4 = storage4
    978                 image_name_stg5 = storage5
    979                 image_name_stg6 = storage6
    980                 image_name_stg7 = storage7
    981                 image_name_stg8 = storage8
    982                 image_name_stg9 = storage9
    983                 image_name_stg10 = storage10
    984                 image_name_stg11 = storage11
    985                 image_name_stg12 = storage12
    986                 image_name_stg13 = storage13
    987                 image_name_stg14 = storage14
    988                 image_name_stg15 = storage15
    989                 image_name_stg16 = storage16
    990                 image_name_stg17 = storage17
    991                 image_name_stg18 = storage18
    992                 image_name_stg19 = storage19
    993                 image_name_stg20 = storage20
    994                 image_name_stg21 = storage21
    995                 image_name_stg22 = storage22
    996                 image_name_stg23 = storage23
    997 
    998     - clock_getres: install setup image_copy unattended_install.cdrom
    999         only Linux
   1000         type = clock_getres
   1001 
   1002     - yum_update: install setup image_copy unattended_install.cdrom
   1003         only Fedora, RHEL
   1004         type = yum_update
   1005         shell_prompt = "Is this ok"
   1006 
   1007     - kdump: install setup image_copy unattended_install.cdrom
   1008         only RHEL.5, RHEL.6
   1009         type = kdump
   1010         # time waited for the completion of crash dump
   1011         # crash_timeout = 360
   1012         # command to add the crashkernel=X@Y to kernel cmd line
   1013         # kernel_param_cmd = "grubby --update-kernel=`grubby --default-kernel` --args=crashkernel=128M@64M"
   1014         # command to enable kdump service
   1015         # kdump_enable_cmd = chkconfig kdump on && service kdump start
   1016         # command to probe the crash kernel
   1017         # crash_kernel_prob_cmd = "grep -q 1 /sys/kernel/kexec_crash_loaded"
   1018 
   1019     - vmstop: install setup image_copy unattended_install.cdrom
   1020         type = vmstop
   1021         # the path used to store the saved vm state
   1022         # save_path = /tmp
   1023         # clean the state file?
   1024         clean_save = yes
   1025 
   1026     - cdrom_test: install setup image_copy unattended_install.cdrom
   1027         only Linux
   1028         start_vm = no
   1029         type = cdrom
   1030         cdrom_cd1 = orig.iso
   1031         max_times = 20
   1032 
   1033     - nmi_watchdog: install setup image_copy unattended_install.cdrom
   1034         type = nmi_watchdog
   1035         get_nmi_cmd = grep NMI /proc/interrupts
   1036         nmi_watchdog_type = 1
   1037         image_snapshot = yes
   1038         only Linux
   1039 
   1040     - floppy: install setup image_copy unattended_install.cdrom
   1041         type = floppy
   1042         start_vm = no
   1043         floppy = images/test_floppy.img
   1044 
   1045     - trans_hugepage: install setup image_copy unattended_install.cdrom
   1046         thp_test_config = ""
   1047         kill_vm = yes
   1048         login_timeout = 360
   1049         variants:
   1050             - base:
   1051                 type = trans_hugepage
   1052                 dd_timeout = 900
   1053             - defrag:
   1054                 type = trans_hugepage_defrag
   1055             - swapping:
   1056                 type = trans_hugepage_swapping
   1057                 dd_timeout = 900
   1058                 check_cmd_timeout = 900
   1059 
   1060     - cpu_hotplug_test:
   1061         type = cpu_hotplug
   1062         cpu_hotplug_timeout = 600
   1063         n_cpus_add = 1
   1064         kill_vm = yes
   1065         iterations = 5
   1066         onoff_iterations = 100
   1067 
   1068     - usb: install setup image_copy unattended_install.cdrom
   1069         only Linux
   1070         type = usb
   1071         kill_vm = yes
   1072         format_timeout = 400
   1073         images += " stg"
   1074         image_name_stg = "usbdevice"
   1075         image_format_stg = "qcow2"
   1076         image_boot_stg = no
   1077         drive_format_stg = "usb2"
   1078         drive_index_stg = 1
   1079         create_image_stg = yes
   1080         image_size_stg = 10M
   1081         fdisk_string = "10 MB, 10485760 bytes"
   1082 
   1083     - hdparm:
   1084         only Linux
   1085         type = hdparm
   1086         get_disk_cmd = \ls /dev/[vhs]da
   1087         low_status_cmd = hdparm -a64 -d0 -u0 %s
   1088         device_cache_read_cmd = hdparm -tT %s
   1089         high_status_cmd = hdparm -a256 -d1 -u1 %s
   1090         cmd_timeout = 540
   1091         virtio_blk:
   1092             get_disk_cmd = \ls /dev/vda
   1093             low_status_cmd = hdparm -a32 -r0 %s
   1094             high_status_cmd = hdparm -a256 -r1 %s
   1095 
   1096     # system_powerdown, system_reset and shutdown *must* be the last ones
   1097     # defined (in this order), since the effect of such tests can leave
   1098     # the VM on a bad state.
   1099     - system_powerdown: install setup image_copy unattended_install.cdrom
   1100         type = shutdown
   1101         shutdown_method = system_powerdown
   1102         sleep_before_powerdown = 20
   1103         kill_vm = yes
   1104 
   1105     - system_reset: install setup image_copy unattended_install.cdrom
   1106         type = boot
   1107         reboot_method = system_reset
   1108         sleep_before_reset = 20
   1109         kill_vm_on_error = yes
   1110 
   1111     - system_reset_bootable: install setup image_copy unattended_install.cdrom
   1112         type = system_reset_bootable
   1113         interval = 1
   1114         reset_times = 20
   1115         wait_time_for_reset = 120
   1116         kill_vm_on_error = yes
   1117 
   1118     - shutdown: install setup image_copy unattended_install.cdrom
   1119         type = shutdown
   1120         shutdown_method = shell
   1121         kill_vm = yes
   1122         kill_vm_gracefully = no
   1123