index.yaml 43.6 KB
Newer Older
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1
2
3
4
#
# Global kpet objects and defaults
#

5
6
7
8
9
# The path to the output template, relative to this file.
# Optional. If not specified, no output is produced.
# See kpet's README.md for a description of symbols exported to the template.
template: beaker.xml.j2

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
10
11
12
# A dictionary of host "domains" - sections of the pool of machines available
# for testing. Domains can contain other domains, i.e. subsections of their
# machine pools.
13
#
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# Each domain can have host requirements assigned, which are automatically
# excluded from all peer domains. Each domain can have a set of architectures
# specified, which must correspond to limitations expressed in its host
# requirements and are used as a hint for the scheduler. Finally, each host
# type (below) can be assigned to one or more domains, thus describing which
# domains have which hosts.
#
# When a recipe is created for a host type within a domain, it receives
# host_requires conditions of that domain, as well as host_requires of all its
# parents. It also receives *negated* host_requires conditions from all peers
# of its domain, as well as all peers of its parent domains. All negated
# host_requires conditions implicitly include forced hostnames of member host
# types of those peer domains.
#
# When a domain is selected on the command line using the "--domains" option,
# all its subdomains are considered selected as well. If a host type belongs
# to a domain, it is also considered belonging to a subdomain. E.g. in case
# only the subdomain was selected for a run.
32
33
34
35
36
37
38
#
# Optional. If not specified, the database is assumed to contain one implicit
# domain, and host types are not allowed "domains" properties to be
# specified.
domains:
  # An example domain
  # example:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
39
  #   # A human-readable description of the domain
40
41
  #   description: An example domain
  #
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
  #   # Path to a template containing "hostRequires" element contents,
  #   # matching hosts belonging to the domain. Relative to the top directory.
  #   #
  #   # Alternatively can be a boolean. The "false" value would be equivalent
  #   # to a missing property, and would result in the domain receiving the
  #   # combined "hostRequires" of its children.
  #   #
  #   # Whatever "hostRequires" this domain receives, they are also used to
  #   # make sure its peers are not using its hosts by using the inverted
  #   # conditions for the peers' hosts in output XML.
  #   #
  #   # Finally, the "true" value would mean that the domain's host_requires
  #   # are explicitly and solely the parent domain's hosts which don't belong
  #   # to any of the domain's peers.
  #   #
  #   # A domain's host_requires is assumed to contain host_requires of
  #   # all its children. A domain can only directly contain one domain with
  #   # "true" host_requires. A domain with "false" (or without) host_requires
  #   # property cannot directly contain a domain with "true" host_requires.
  #   #
  #   # Optional.
63
  #   host_requires: domains/example.host_requires.xml.j2
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
  #
  #   # A regular expression, or a list of regular expressions matching
  #   # architectures the domain's hosts are limited to with its
  #   # host_requires. Used to determine if the domain's hosts are available
  #   # for testing on particular architectures. Optional.
  #   arches:
  #     - .*64.*
  #     - s390x
  #
  #   # A dictionary of subdomains
  #   domains:
  #     white:
  #       description: Machines in white cases
  #       host_requires: domains/example/white.host_requires.xml.j2
  #     black:
  #       description: Machines in black cases
  #       host_requires: domains/example/black.host_requires.xml.j2
81

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
82
83
84
85
86
87
88
89
90
91
92
  available:
    description: Hosts available to all pipelines
    host_requires: true
    domains:
      shared:
        description: Hosts shared by multiple tests
        host_requires: true
        domains:
          general:
            description: General-purpose hosts
            host_requires: true
93
94
95
96
97
98
99
100
101
            domains:
              intel:
                description: Hosts with Intel CPUs
                host_requires: domains/intel.host_requires.xml.j2
                arches: x86_64
              amd:
                description: Hosts with AMD CPUs
                host_requires: domains/amd.host_requires.xml.j2
                arches: x86_64
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
102
103
104
105
          ampere_altra:
            description: Shared Ampere Altra hosts
            host_requires: domains/ampere_altra.host_requires.xml.j2
            arches: aarch64
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
      dedicated:
        description: Hosts dedicated to particular tests
        domains:
          rdma:
            description: Hosts dedicated to RDMA testing
            host_requires: domains/rdma.host_requires.xml.j2
          wdat:
            description: Hosts dedicated to Watchdog wdat testing
            host_requires: domains/wdat.host_requires.xml.j2
          mpt3sas_gen1:
            description: Hosts dedicated to mpt3sas_gen1 testing
            host_requires: domains/mpt3sas_gen1.host_requires.xml.j2
          megaraid_sas_gen2_5:
            description: Hosts dedicated to MegaRAID SAS Gen2.5 testing
            host_requires: domains/megaraid_sas_gen2_5.host_requires.xml.j2
          megaraid_sas_gen3:
            description: Hosts dedicated to MegaRAID SAS Gen3 testing
            host_requires: domains/megaraid_sas_gen3.host_requires.xml.j2
          megaraid_sas_gen3_5:
            description: Hosts dedicated to MegaRAID SAS Gen3.5 testing
            host_requires: domains/megaraid_sas_gen3_5.host_requires.xml.j2
          rt:
            description: Hosts dedicated to kernel-rt specific tests
            host_requires: domains/rt.host_requires.xml.j2
  restricted:
    description: Hosts restricted to particular pipelines
132

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
133
# Types of hosts available for running tests on.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
134
# Test cases can specify a regular expression matching the host
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
135
# type(s) they should be run on, and the host types describe which host it
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
136
# should be and how it should be setup.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
137
host_types:
138
139
140
141
142
143
144
145
146
  # An example host type
  # EXAMPLE:
  #   true if kernel panics should be ignored,
  #   false if the job should be aborted when a kernel panic is
  #   detected
  #   Optional. Default is false.
  #   ignore_panic: false
  #
  #   Name of the exact host to use, instead of trying to match a
147
148
  #   machine to the set of conditions in "host_requires".
  #   Optional. The "host_requires" conditions are used by default.
149
150
151
152
153
154
  #   hostname: host.example.com
  #
  #   Path to the template to include into the "hostRequires" element.
  #   Relative to the top directory.
  #   Ignored if "hostname" is specified.
  #   Optional.
155
  #   host_requires: host_types/example_host_requires.xml.j2
156
157
158
159
160
161
162
163
164
165
166
  #
  #   Path to the template to include into the "partitions" element.
  #   Relative to the top directory.
  #   Optional.
  #   partitions: host_types/example_partitions.xml.j2
  #
  #   Path to the template to include into the "ks_appends" element.
  #   Relative to the top directory.
  #   Optional.
  #   kickstart: host_types/example_kickstart.xml.j2
  #
167
168
169
  #   Path to the template to include into the "recipe" element, right before
  #   the task booting the kernel being tested. Relative to the top directory.
  #   Optional.
170
171
172
173
174
175
  #   preboot_tasks: host_types/example_preboot_tasks.xml.j2
  #
  #   Path to the template to include into the "recipe" element, right after
  #   the task booting the kernel being tested. Relative to the top directory.
  #   Optional.
  #   postboot_tasks: host_types/example_postboot_tasks.xml.j2
176
  #
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
177
178
  #   A regular expression matching names or slash-separated paths of
  #   "domains" (see above) the host belongs to.
179
180
  #   Optional. The host doesn't belong to a domain, if not specified.
  #   Cannot be specified if "domains" above are not specified.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
181
  #   domains: /available/shared/general|rdma
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
182

183
  # Normal host type used for most tests
184
  normal:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
185
    domains: shared
186
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
187
188
  # A host with disabled kernel panic detection
  panicky:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
189
    domains: shared
190
191
    ignore_panic: true
  # First host dedicated to multi-host tests
192
  multihost_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
193
    domains: shared
194
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
195
  # Second host dedicated to multi-host tests
196
  multihost_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
197
    domains: shared
198
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
199
  # A separate host for XFS tests
Rachel Sibley's avatar
Rachel Sibley committed
200
  bare_metal:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
201
    domains: shared
202
    host_requires: host_types/bare_metal.host_requires.xml.j2
203
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
Bruno Goncalves's avatar
Bruno Goncalves committed
204
205
  # Separate host to run in a VM
  vm:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
206
    domains: general
Bruno Goncalves's avatar
Bruno Goncalves committed
207
208
    host_requires: host_types/vm.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
209
210
  # A separate host for Power8 baremetal
  power8_baremetal:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
211
    domains: general
212
    host_requires: host_types/power8_baremetal.host_requires.xml.j2
213
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
214
215
  # A separate host for Power8 KVM
  power8_kvm:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
216
    domains: general
217
    host_requires: host_types/power8_kvm.host_requires.xml.j2
218
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
219
220
  # A separate host for Power8 PowerVM
  power8_powervm:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
221
    domains: general
222
    host_requires: host_types/power8_powervm.host_requires.xml.j2
223
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
224
225
  # A separate host for Power9 baremetal
  power9_baremetal:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
226
    domains: general
227
    host_requires: host_types/power9_baremetal.host_requires.xml.j2
228
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
229
230
  # A separate host for Power9 PowerVM
  power9_powervm:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
231
    domains: general
232
    host_requires: host_types/power9_powervm.host_requires.xml.j2
233
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
234
  # A separate host for kernel fips test
235
  kernel_fips_test_only:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
236
    domains: shared
Rachel Sibley's avatar
Rachel Sibley committed
237
  hw_raid_smartpqi:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
238
    domains: general
Rachel Sibley's avatar
Rachel Sibley committed
239
240
241
    ignore_panic: true
    hostname: storageqe-32.sqe.lab.eng.bos.redhat.com
  hw_raid_hpsa:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
242
    domains: general
Rachel Sibley's avatar
Rachel Sibley committed
243
244
    ignore_panic: true
    hostname: storageqe-29.sqe.lab.eng.bos.redhat.com
245
  # A separate host for autofs  Connecathon test
246
  autofs_cathon_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
247
    domains: shared
248
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
249
  autofs_cathon_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
250
    domains: shared
251
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
252
  autofs_cathon_3:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
253
    domains: shared
254
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
255
256
257
258
259
  bare_metal_gfs2:
    domains: shared
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
    host_requires: host_types/bare_metal.host_requires.xml.j2
    partitions: host_types/bare_metal_gfs2.partitions.xml.j2
260
261
262
263
  blktests_nvmeof_mp:
    domains: shared
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
    host_requires: host_types/blktests_nvmeof_mp.host_requires.xml.j2
Bruno Goncalves's avatar
Bruno Goncalves committed
264
265
266
267
  blktests_srp:
    domains: shared
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
    host_requires: host_types/blktests_srp.host_requires.xml.j2
Bruno Goncalves's avatar
Bruno Goncalves committed
268
269
270
271
272
  # A separate host for mlx5 driver
  mlx5:
    domains: shared
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
    host_requires: host_types/driver_mlx5.host_requires.xml.j2
273
  # A separate host for mpt3sas Generation 2 - kdump
274
  mpt3sas_panicky_gen2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
275
    domains: general
276
    ignore_panic: true
277
    host_requires: host_types/mpt3sas_gen2.host_requires.xml.j2
278
279
  # A separate host for mpt3sas Generation 2 - san-device-stress
  mpt3sas_gen2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
280
    domains: general
281
    host_requires: host_types/mpt3sas_gen2.host_requires.xml.j2
282
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
283
284
  # A separate host for lpfc driver testing
  lpfc:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
285
    domains: general
286
    hostname: rhel-storage-04.storage.lab.eng.bos.redhat.com
287
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
288
289
  # A separate host for qla2xxx driver testing
  qla2xxx:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
290
    domains: general
291
    hostname: rhel-storage-05.storage.lab.eng.bos.redhat.com
292
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
293
294
  # A separate host for qedf driver testing
  qedf:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
295
    domains: general
296
    hostname: rhel-storage-14.storage.lab.eng.bos.redhat.com
297
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
298
  # A separate host for livepatch testing
299
  livepatch:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
300
    domains: shared
Rachel Sibley's avatar
Rachel Sibley committed
301
302
  # A separate host for Watchdog iTCO testing
  itco_wdt:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
303
    domains: general
Rachel Sibley's avatar
Rachel Sibley committed
304
    host_requires: host_types/itco_wdt.host_requires.xml.j2
305
306
  # A separate host for AMD testing
  amd:
307
    domains: amd
308
309
  # A separate host for Intel testing
  intel:
310
    domains: intel
311
312
  # A separate host for cpu driver as it runs on specific set of machines
  cpu_driver:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
313
    domains: general
314
    host_requires: host_types/cpu_driver.host_requires.xml.j2
315
316
  # First host dedicated to multi-host tests - RDMA: IB
  rdma-ib_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
317
    domains: rdma
318
319
320
321
    host_requires: host_types/rdma-ib.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # Second host dedicated to multi-host tests - RDMA: IB
  rdma-ib_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
322
    domains: rdma
323
324
325
326
    host_requires: host_types/rdma-ib.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # First host dedicated to multi-host tests - RDMA: iWARP
  rdma-iwarp_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
327
    domains: rdma
328
329
330
331
    host_requires: host_types/rdma-iwarp.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # Second host dedicated to multi-host tests - RDMA: iWARP
  rdma-iwarp_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
332
    domains: rdma
333
334
335
336
    host_requires: host_types/rdma-iwarp.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # First host dedicated to multi-host tests - RDMA: OPA
  rdma-opa_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
337
    domains: rdma
338
339
340
341
    host_requires: host_types/rdma-opa.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # Second host dedicated to multi-host tests - RDMA: OPA
  rdma-opa_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
342
    domains: rdma
343
344
345
346
    host_requires: host_types/rdma-opa.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # First host dedicated to multi-host tests - RDMA: RoCE
  rdma-roce_1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
347
    domains: rdma
348
349
350
351
    host_requires: host_types/rdma-roce.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # Second host dedicated to multi-host tests - RDMA: RoCE
  rdma-roce_2:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
352
    domains: rdma
353
354
355
356
    host_requires: host_types/rdma-roce.host_requires.xml.j2
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
  # A separate host for Watchdog wdat testing
  wdat_wdt:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
357
    domains: wdat
358
  # A separate host for mpt3sas Generation 1 - kdump
359
  mpt3sas_panicky_gen1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
360
    domains: mpt3sas_gen1
361
362
363
    ignore_panic: true
  # A separate host for mpt3sas Generation 1 - san-device-stress
  mpt3sas_gen1:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
364
    domains: mpt3sas_gen1
365
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
366
  megaraid_sas_gen2_5:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
367
    domains: megaraid_sas_gen2_5
368
369
    arches: x86_64
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
370
  megaraid_sas_panicky_gen2_5:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
371
    domains: megaraid_sas_gen2_5
372
373
374
    ignore_panic: true
    arches: x86_64
  megaraid_sas_gen3:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
375
    domains: megaraid_sas_gen3
376
377
    arches: x86_64
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
378
  megaraid_sas_panicky_gen3:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
379
    domains: megaraid_sas_gen3
380
    ignore_panic: true
381
    arches: x86_64
382
  megaraid_sas_gen3_5:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
383
    domains: megaraid_sas_gen3_5
384
    arches: x86_64
385
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
386
  megaraid_sas_panicky_gen3_5:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
387
    domains: megaraid_sas_gen3_5
388
389
    ignore_panic: true
    arches: x86_64
390
  rt:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
391
    domains: rt
392
393
    arches: x86_64
    postboot_tasks: host_types/setup-nfsdump.tasks.xml.j2
394

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
395
396
397
398
399
400
401
402
403
# A map of recipeset names to lists of host type names.
#
# Hosts allocated for the host types listed in a particular recipeset will
# belong to the same recipeset in the test run.
#
# A recipeset (Beaker term) is a domain for synchronization between hosts.
# All hosts belonging to the same recipeset must be provisioned before any of
# them can start testing, and tests running on them can synchronize with each
# other using the test harness. Recipeset names have no effect on test runs.
404
#
405
406
407
408
409
# Each host type not belonging to a particular recipeset, will be placed into
# its own dedicated, implicit recipeset automatically. Thus only multi-host
# recipesets need to be defined explicitly.
#
# Optional. Assumed to be an empty dictionary, if missing.
410
recipesets:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
411
  multihost:
412
413
    - multihost_1
    - multihost_2
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
414
  autofs_cathon:
415
416
417
    - autofs_cathon_1
    - autofs_cathon_2
    - autofs_cathon_3
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
418
  rdma_ib:
Jakub Racek's avatar
Jakub Racek committed
419
420
    - rdma-ib_1
    - rdma-ib_2
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
421
  rdma_iwarp:
Jakub Racek's avatar
Jakub Racek committed
422
423
    - rdma-iwarp_1
    - rdma-iwarp_2
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
424
  rdma_opa:
Jakub Racek's avatar
Jakub Racek committed
425
426
    - rdma-opa_1
    - rdma-opa_2
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
427
  rdma_roce:
Jakub Racek's avatar
Jakub Racek committed
428
429
    - rdma-roce_1
    - rdma-roce_2
Rachel Sibley's avatar
Rachel Sibley committed
430

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
431
432
# A map of kernel tree names to their Beaker job XML templates.
# Templates are specified as file paths relative to the top directory.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
433
434
# Test cases can specify regular expressions matching the trees they
# can/cannot run with. Kpet will only accept the listed tree names.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
435
trees:
436
437
  # An example kernel tree
  # EXAMPLE:
438
  #   This tree's supported architectures as a regex, or a list of regexes
439
440
441
442
  #   Optional. Default is '.*' (all architectures)
  #   arches:
  #     - .*64
  #     - example
443
444
445
  rhel5-els:
    arches:
      - x86_64
Bruno Goncalves's avatar
Bruno Goncalves committed
446
447
448
449
450
  rhel610-z:
    arches:
      - x86_64
      - i386
      - s390x
451
452
453
454
455
456
457
458
459
  rhel72-z:
    arches:
      - x86_64
  rhel73-z:
    arches:
      - x86_64
  rhel74-z:
    arches:
      - x86_64
Bruno Goncalves's avatar
Bruno Goncalves committed
460
      - ppc64le
461
462
463
464
465
  rhel76-z:
    arches:
      - x86_64
      - ppc64.*
      - s390x
Rachel Sibley's avatar
Rachel Sibley committed
466
467
468
  rhel76-z-rt:
    arches:
      - x86_64
Jakub Racek's avatar
Jakub Racek committed
469
470
471
472
473
  rhel77-z:
    arches:
      - x86_64
      - ppc64.*
      - s390x
Rachel Sibley's avatar
Rachel Sibley committed
474
475
476
477
478
479
480
481
  rhel79-z:
    arches:
      - x86_64
      - ppc64.*
      - s390x
  rhel79-z-rt:
    arches:
      - x86_64
Rachel Sibley's avatar
Rachel Sibley committed
482
483
484
485
486
487
  rhel81-z:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
Rachel Sibley's avatar
Rachel Sibley committed
488
  rhel82-z:
489
490
    arches:
      - x86_64
Rachel Sibley's avatar
Rachel Sibley committed
491
492
493
      - ppc64le
      - aarch64
      - s390x
Rachel Sibley's avatar
Rachel Sibley committed
494
  rhel82-z-rt:
Rachel Sibley's avatar
Rachel Sibley committed
495
496
    arches:
      - x86_64
Bruno Goncalves's avatar
Bruno Goncalves committed
497
498
499
500
501
502
503
504
505
  rhel84-z:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
  rhel84-z-rt:
    arches:
      - x86_64
Bruno Goncalves's avatar
Bruno Goncalves committed
506
507
508
509
510
511
512
513
514
  rhel85-z:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
  rhel85-z-rt:
    arches:
      - x86_64
Rachel Sibley's avatar
Rachel Sibley committed
515
  rhel8:
516
517
    arches:
      - x86_64
Rachel Sibley's avatar
Rachel Sibley committed
518
519
520
521
      - ppc64le
      - aarch64
      - s390x
  rhel8-rt:
Rachel Sibley's avatar
Rachel Sibley committed
522
523
    arches:
      - x86_64
Rachel Sibley's avatar
Rachel Sibley committed
524
525
526
527
528
529
530
531
532
  rhel9:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
  rhel9-rt:
    arches:
      - x86_64
533
534
535
536
537
538
539
540
541
  c9s:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
  c9s-rt:
    arches:
      - x86_64
542
      - aarch64
Bruno Goncalves's avatar
Bruno Goncalves committed
543
544
545
546
547
548
  eln:
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
549
  upstream:
550
551
552
553
554
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
Rachel Sibley's avatar
Rachel Sibley committed
555
  rawhide:
556
557
558
559
560
    arches:
      - x86_64
      - ppc64le
      - aarch64
      - s390x
561

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
562
# List of names of architectures to run tests on.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
563
564
# Test cases can specify regular expressions matching the architectures they
# can/cannot run with. Kpet will only accept the listed architecture names.
565
arches:
566
  - aarch64
Bruno Goncalves's avatar
Bruno Goncalves committed
567
  - i386
568
569
570
571
  - ppc64
  - ppc64le
  - s390x
  - x86_64
572

573
574
# A dictionary of extra components which could be contained in a kernel build
# (beside the kernel image itself), and their human-readable descriptions.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
575
576
# Test cases can specify regular expressions matching the components they can
# or can't run with.
577
578
579
components:
  headers: "Headers for user-space development"
  devel: "Headers and makefiles for module development"
580
  debugbuild: "Debug kernel build"
581
  debuginfo: "Debug information"
582
583
  abi: "ABI information"
  tools: "Kernel tools"
584
  officialbuild: "Official build"
585

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
586
# A dictionary of available test sets and their human-readable descriptions
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
587
# Test cases can specify which sets they are included into and excluded from.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
588
sets:
589
590
  acpi: "ACPI subsystem tests"
  bpf: "BPF Kernel Self Tests"
591
  fs: "Filesystem subsystem tests"
Bruno Goncalves's avatar
Bruno Goncalves committed
592
  gfs2: "Tests for GFS2 filesystem"
593
  ipmi: "IPMI subsystem tests"
594
595
596
  kself: "Kernel Self Tests"
  kt0: "Gating tests"
  kt1: "Kernel Tier 1 tests"
597
  mem: "Memory subsystem tests"
598
599
  misc: "Miscellaneous tests"
  net: "Network subsystem tests"
Rachel Sibley's avatar
Rachel Sibley committed
600
  perf: "Perf subsystem tests"
Jakub Racek's avatar
Jakub Racek committed
601
  rdma: "RDMA subsystem tests"
Bruno Goncalves's avatar
Bruno Goncalves committed
602
  rt: "Realtime specific tests"
603
  stor: "Storage/RDMA subsystem tests"
604
  virt: "Virtualization subsystem tests"
605
  cloud: "Tests that can run in cloud environment"
Rachel Sibley's avatar
Rachel Sibley committed
606
  wdt: "Watchdog Timer Tests"
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
607

608
609
610
611
612
613
614
615
616
617
# A dictionary of available template variables and their descriptions.
# Use "kpet variable list" to list them from the command line.
# Values for these variables can be specified via -v/--variable options to
# "kpet run generate" command. The variable names and values will be
# accessible to templates via the "VARIABLES" dictionary.
variables:
  # An example variable named "foo"
  # foo:
  #   # Human-readable description of the variable.
  #   description: An example variable
618
619
620
  #   # Variable type, either "str" for string, or "bool" for boolean.
  #   # Optional. Default is "str".
  #   type: str
621
622
  #   # Default value to use if none is specified. Optional.
  #   default: bar
Matthew Kenigsberg's avatar
Matthew Kenigsberg committed
623
624
  coverage:
    description: >-
625
626
627
      If "True", enable test coverage, wrapping Beaker tests with kcov
    type: bool
    default: false
628
629
630
631
632
633
634
  coverage_dirs:
    description: >-
      Capture coverage data only from these kernel directories,
      separated by commas.
    default: >-
      arch, block, certs, crypto, drivers, fs, init, ipc, kernel,
      mm, net, security
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
  device_buses:
    description: >-
      List of kernel device buses executing Beaker systems must have,
      separated by commas. Examples: "pci", "usb,net,scsi".
    default: ""
  device_drivers:
    description: >-
      List of kernel device drivers executing Beaker systems must use,
      separated by commas. Examples: "uhci_hcd", "ioatdma,bnx2,mptsas".
    default: ""
  device_types:
    description: >-
      List of Beaker device types executing systems must have,
      separated by commas. Examples: "VIDEO", "USB,NETWORK".
    default: ""
650
  hostname:
651
652
653
    description: >-
      Hostname supported by beaker, such as FQDN or partial hostname
      using % wildcard. All recipes will use this in hostRequires.
654
    default: ""
655
656
  suites_zip_url:
    description: A URL of the ZIP archive containing test suite code
Rachel Sibley's avatar
Rachel Sibley committed
657
    default: >-
658
      https://gitlab.com/cki-project/kernel-tests/-/archive/main/kernel-tests-main.zip
Jakub Racek's avatar
Jakub Racek committed
659
  kernel_tests_url:
660
661
662
    description: A URL of the ZIP archive containing kernel/tests code
    default: >-
      https://gitlab.cee.redhat.com/kernel-qe/kernel/-/archive/master/kernel-master.zip
663
664
665
  job_group:
    description: Beaker group to assign to the jobs
    default: ""
Veronika Kabátová's avatar
Veronika Kabátová committed
666
667
668
  selftests_url:
    description: URL of selftests tarball associated with the tested kernel
    default: ""
669

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
670
# A map of names of available test case origins (values of "origin"
671
# property), and a human-readable description of the way the corresponding
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
672
673
# case's locations ("location" properties) will be interpreted to reach the
# case's code. If not specified, cases are not allowed to have origins.
674
675
origins:
  suites_zip: Path to a directory inside the suites' ZIP file
Jakub Racek's avatar
Jakub Racek committed
676
  kernel_tests: Path to a directory in kernel/tests git repo
677

Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
# The root case.
#
# Either an object, or a path to a YAML file containing one, relative to the
# directory of this file.
#
# A case is an "abstract case", if it has a map of sub-cases (even if empty).
# Otherwise it's a "test case". Every test case constitutes an executable
# test.
#
# All case properties are optional, but each test combines properties of its
# test case and its parents in certain ways specific to each property, and
# applies extra requirements. See the description of each property below for
# details.
#
case:
  # "name" - human-readable name of the case.
  #
  # A test's name is generated by joining case names leading to the test case
  # with the " - " string. The generated test names must be unique.
  # A case name is not inherited by a case from its parent, if it's missing,
  # it's simply omitted from the test's name.
  #
  # name: 'Example case'

  # "universal_id" - universal test ID.
  #
  # A string identifying the executed test universally, for reporting test
  # results globally. E.g. for reporting to kcidb, with IDs as defined in
  # https://github.com/kernelci/kcidb/blob/master/tests.yaml
  #
  # A test receives the closest specified universal ID from the test case, or
  # its parents, if any are defined.
  #
  # universal_id: redhat_igmp

713
  # "maintainers" - the list of case maintainers.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
714
715
716
717
  #
  # Test maintainers are maintainers of all cases leading to, and including
  # its test case. A test must have at least one maintainer.
  #
718
719
  # The test's maintainers are put into run description (Beaker job XML),
  # to be used when reporting test results. E.g. to contact maintainers
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
720
721
  # on test failures.
  #
722
723
724
725
  # 'name'  - full name of the maintainer.
  # 'email' - email of the maintainer.
  # 'gitlab'- GitLab username of the maintainer. (optional)
  #
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
726
  # maintainers:
727
728
729
730
731
  #   - name: Somebody
  #     email: somebody@redhat.com
  #   - name: Someone Else
  #     email: someone.else@redhat.com
  #     gitlab: someone_else
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752

  # "origin" - the name of the test's code origin.
  #
  # One of the names defined in the top index.yaml, under "origins". Origins
  # cannot be specified, if not defined.
  #
  # A test receives the closest specified origin from the test case, or its
  # parents. A test must have an origin, if there are any defined in the top
  # index.yaml.
  #
  # origin: suites_zip

  # "location" - location of the test's code.
  #
  # Specific to the origin, if that is set.
  #
  # A test receives the closest specified location from the test case, or its
  # parents. A test must have a location specified.
  #
  # location: examples/hello-world

753
  # "host_types" - host types to use for the tests.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
754
755
756
757
758
759
760
761
  #
  # A regular expression matching the (whole) name of the host type to use for
  # a test. The available host types are defined under "host_types" in the top
  # index.yaml.
  #
  # A test receives the closest specified host type regex from the test case,
  # or its parents. If none is specified, the test would match any host type.
  #
762
763
  # host_types: foobar-.*
  host_types: normal
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832

  # "host_requires" - "hostRequires" Beaker XML snippet.
  #
  # Path to the template to include into the "hostRequires" element of every
  # recipe (host) in the output Beaker job XML. Relative to the top directory.
  #
  # When a test is picked to run on a host, the templates from the
  # test case and all its parents (where specified) are included into the
  # recipe. However, each case's templates are included only once per host,
  # even if it's a parent to multiple test cases executed on that host.
  #
  # If the contents of the template can affect other tests, consider creating
  # and matching a separate host type, and using the template there instead.
  #
  # host_requires: case/foo/bar/host_requires.xml.j2

  # "partitions" - "partitions" Beaker XML snippet.
  #
  # Path to the template to include into the "partitions" element of every
  # recipe (host) in the output Beaker job XML. Relative to the top directory.
  #
  # When a test is picked to run on a host, the templates from the
  # test case and all its parents (where specified) are included into the
  # recipe. However, each case's templates are included only once per host,
  # even if it's a parent to multiple test cases executed on that host.
  #
  # If the contents of the template can affect other tests, consider creating
  # and matching a separate host type, and using the template there instead.
  #
  # partitions: case/baz/partitions.xml.j2

  # "kickstart" - "ks_appends" Beaker XML snippet.
  #
  # Path to the template to include into the "ks_appends" element of every
  # recipe (host) in the output Beaker job XML. Relative to the top directory.
  #
  # When a test is picked to run on a host, the templates from the
  # test case and all its parents (where specified) are included into the
  # recipe. However, each case's templates are included only once per host,
  # even if it's a parent to multiple test cases executed on that host.
  #
  # If the contents of the template can affect other tests, consider creating
  # and matching a separate host type, and using the template there instead.
  #
  # kickstart: case/foo/kickstart.xml.j2

  # "sets" - test set membership.
  #
  # A regular expression, or a list of regular expressions matching the names
  # of test sets this case is a member of.
  #
  # A case can only match sets matched by its closest set-matching parent,
  # or, if there are none, the sets defined in the top index.yaml, under
  # "sets". The latter can be listed with "kpet set list" command.
  #
  # A case is considered not to be a member of any set, if neither it, nor any
  # of its parents match any.
  #
  # In other words, only the topmost set-matching case can extend set
  # membership, all cases below it can only restrict it.
  #
  # A test has the same set membership as its test case.
  #
  # sets: net|fs
  #
  # sets:
  #   - net
  #   - fs

833
  # "enabled" - enabling pattern.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
834
835
  #
  # A pattern matching various parameters for considering a case for a run.
836
837
838
  # Read about patterns below. If a case is not enabled, none of its
  # "sub-cases" are either. A test is only enabled if its test case is enabled.
  # Assumed enabled, if not specified.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
839
  #
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
  # enabled: true
  # enabled: false
  # enabled:
  #   arches:
  #     or:
  #       - x86_64
  #       - aarch64

  # "waived" - waiving pattern.
  #
  # A pattern matching various parameters for considering a case as "waived".
  # Read about patterns below. If evaluates to true, the results of the test
  # execution are waived. I.e. ignored and not taken into account of the
  # overall run result. If evaluates to false, the test's results are handled
  # normally.
  #
  # A test is waived if its test case or any of its parents are waived.
  # Considered not waived, if not specified.
  #
  # waived: true
  # waived: false
  # waived:
  #   components:
  #     debugbuild

  # PATTERNS
  #
  # An "enabled" or a "waived" pattern can be either a dictionary or a list.
  # Both a dictionary and a list can contain the patterns in their turn, as
  # their values. Those sub-patterns all should match for the dictionary/list
  # pattern to match, i.e. they are combined with "and" logical operation, and
  # an empty dictionary/list would match anything. Dictionaries can use the
  # below keys for logical operations.
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
  #
  # "not" - invert the value pattern.
  # "or"  - combine the value's items with "or" operation, instead of the
  #         default "and". I.e. the value pattern would match if any of its
  #         items matched, and an empty dictionary/list would not match
  #         anything. Could be used for e.g. running a test on several listed
  #         architectures.
  # "and" - combine the value's items with "and" logical operation, i.e. the
  #         default. All items of the value pattern should match for this one to
  #         match, and an empty dictionary/list pattern would match anything.
  #         Could be used to clarify the default logical operation.
  #
  # Dictionaries can also use the following keys for qualifying what parameter
  # set they're matching.
  #
  # "trees"           - the kernel trees to execute against.
  #                     See the top index.yaml, or the output of "kpet tree
  #                     list" for the available trees.
  # "arches"          - the architectures to execute on.
  #                     See the top index.yaml, or the output of "kpet arch
  #                     list" for the available architectures.
  # "components"      - the names of extra components present in the build.
  #                     See the top index.yaml, or the output of "kpet component
  #                     list" for the recognized components.
  # "sources"         - the paths to source files changed by the patches
  #                     supplied to kpet.
  #
  # The values associated with these keys must be "qualified" patterns.
  # Qualified patterns are the patterns described above, but they cannot have
  # dictionaries with the qualifying keys directly above, and instead can have
  # the following values in dictionaries/lists:
  #
  # null          - a pattern matching empty qualified parameter set. E.g.
  #                 it will mean "no patches specified" with "sources"
  #                 qualifier, or "no extra components" with "components"
  #                 qualifier.
  # regex string  - a regular expression matching the full text of any of the
  #                 qualified parameter set items. E.g. "block/.*" under a
  #                 "sources" qualifier would match when at least one source
  #                 file under the "block" directory is changed by the patches
  #                 supplied to kpet.
  #
915
916
917
918
919
920
921
922
923
  # Additionally, the whole pattern can be replaced by a boolean, which makes
  # the pattern evaluate to its value. E.g.:
  #
  #   enabled: true
  #   waived: false
  #
  # means that the test case will be enabled, and not waived, regardless of the
  # test run parameters.
  #
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
924
925
926
  # Examples:
  #
  #   # Only run when no patches are specified (for "baseline" testing)
927
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
928
929
930
  #     sources: null
  #
  #   # Only run when patches *are* specified (for patch testing)
931
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
932
933
934
935
  #     not:
  #       sources: null
  #
  #   # The same
936
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
937
938
939
940
  #     sources:
  #       not: null
  #
  #   # The same, and only when the main ACPI header is changed
941
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
942
943
944
945
  #     sources:
  #       - not: null
  #       - include/linux/acpi.h
  #
946
947
  #   # Waive the case on RHEL trees only
  #   waived:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
948
949
  #     trees: rhel.*
  #
950
951
  #   # Waive on RHEL and upstream trees
  #   waived:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
952
953
954
  #     trees:
  #       or:
  #         - rhel.*
Rachel Sibley's avatar
Rachel Sibley committed
955
  #         - upstream
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
956
957
  #
  #   # The same
958
  #   waived:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
959
960
  #     or:
  #       trees: rhel.*
Rachel Sibley's avatar
Rachel Sibley committed
961
  #       trees: upstream
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
962
963
  #
  #   # The same
964
  #   waived:
Rachel Sibley's avatar
Rachel Sibley committed
965
  #     trees: rhel.*|upstream
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
966
967
  #
  #   # Run on anything but ppc64 architecture
968
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
969
970
971
972
  #     not:
  #       arches: ppc64
  #
  #   # Run on anything but ppc64 and ppc64le architectures
973
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
974
975
976
977
978
979
980
  #     not:
  #       arches:
  #         or:
  #           - ppc64
  #           - ppc64le
  #
  #   # The same
981
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
982
983
984
985
986
987
988
  #     arches:
  #       not:
  #         or:
  #           - ppc64
  #           - ppc64le
  #
  #   # The same
989
  #   enabled:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
990
991
992
  #     arches:
  #       not: ppc64(le)?
  #
993
994
  #   # Waive on rhel7/x86_64 and rhel8/aarch64 only
  #   waived:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
995
996
997
998
999
1000
1001
  #     or:
  #       - trees: rhel7
  #         arch: x86_64
  #       - trees: rhel8
  #         arch: aarch64
  #
  #   # The same, but only for ACPI patches.
1002
  #   waived:
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
  #     sources:
  #       or:
  #         - include/acpi/.*
  #         - drivers/acpi/.*
  #         - include/linux/acpi.h
  #     or:
  #       - trees: rhel7
  #         arch: x86_64
  #       - trees: rhel8
  #         arch: aarch64

  # "max_duration_seconds" - maximum test duration.
  #
  # Maximum time a test is allowed to execute, seconds. If the test runs for
  # longer, it is terminated and an infrastructure failure is registered.
  #
  # A test receives the closest specified maximum duration from the test case,
  # or its parents. A test must have maximum duration specified.
  #
  # max_duration_seconds: 300

  # "role" - Beaker task role.
  #
  # The string to use as the Beaker task's "role" attribute.
  #
  # A test receives the closest specified role from the test case, or its
  # parents. Assumed "STANDALONE", if not specified.
  #
  # role: SERVERS
  # role: CLIENTS

  # "environment" - environment variables.
  #
  # A map of environment variables to pass to the test when executing.
  #
  # A test receives all environment variables from its test case, as well as
  # its parents, with children variables overriding parent variables with
  # the same names.
  #
  # environment:
  #   TEST_PARAM_DEV_TYPE: mount
  #   TEST_PARAM_FSTYPE: ext4
  #   TEST_PARAM_TEST_DIR: /mnt/xfstests/mnt1
  #   TEST_PARAM_SCRATCH_MNT: /mnt/xfstests/mnt2

  # "cases" - sub-cases
  #
  # The map of sub-cases, each defined in the same way as this case.
  #
  # A case is considered an "abstract case", if it has a map of sub-cases
  # (even if empty). Otherwise it is considered a "test case", and corresponds
  # to an executable test.
  cases:
    acpi_acpitable:
      cases/acpi/acpitable/index.yaml
    acpi_enabled:
      cases/acpi/enabled/index.yaml
Fendy Tjahjadi's avatar
Fendy Tjahjadi committed
1060
1061
    container_podman:
      cases/container/podman/index.yaml
1062
1063
    core_array_idr_radixtree:
      cases/core-kernel/xarray-idr-radixtree-test/index.yaml
Fendy Tjahjadi's avatar
Fendy Tjahjadi committed
1064
1065
    core_module_diff:
      cases/core-kernel/module_diff/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1066
1067
1068
1069
1070
1071
    cpu_die:
      cases/cpu/die/index.yaml
    cpu_driver:
      cases/cpu/driver/index.yaml
    cpu_idle:
      cases/cpu/idle/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1072
1073
    i2cdetect:
      cases/packages/i2c-tools/sanity/i2cdetect-smoke/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1074
1075
1076
1077
    ltp_lite-rhel:
      cases/ltp/lite-rhel/index.yaml
    ltp_lite-upstream:
      cases/ltp/lite-upstream/index.yaml
1078
1079
    ltp_ltp-openposix:
      cases/ltp/ltp-openposix/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
    filesystems_autofs_connectathon:
      cases/filesystems/autofs/connectathon/index.yaml
    filesystems_cifs_connectathon:
      cases/filesystems/cifs/connectathon/index.yaml
    filesystems_general_pjd-fstest:
      cases/filesystems/general/pjd-fstest/index.yaml
    filesystems_nfs_connectathon:
      cases/filesystems/nfs/connectathon/index.yaml
    filesystems_loopdev_sanity:
      cases/filesystems/loopdev/sanity/index.yaml
    filesystems_xfs_xfstests:
      cases/filesystems/xfs/xfstests/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1092
1093
    fuzzer_trinity:
      cases/fuzzer/trinity/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1094
1095
    firmware_fwts:
      cases/firmware/fwts/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1096
1097
1098
    # Disable iommu boot test until FMK-2198 is resolved
    # iommu_boot:
    # cases/iommu/boot/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1099
1100
1101
1102
1103
1104
1105
1106
    ipmi_stress_driver:
      cases/ipmi/stress/driver/index.yaml
    ipmi_stress_ipmitool-loop:
      cases/ipmi/stress/ipmitool-loop/index.yaml
    jvm_dacapobench:
      cases/jvm/dacapobench/index.yaml
    jvm_jcstress:
      cases/jvm/jcstress/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1107
1108
    kunit:
      cases/kunit/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1109
1110
    selftests_kselftests:
      cases/selftests/kselftests/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1111
1112
    memory_fork_mem:
      cases/memory/fork_mem/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
    memory_function_memfd_create:
      cases/memory/function/memfd_create/index.yaml
    memory_function_kaslr:
      cases/memory/function/kaslr/index.yaml
    misc_amtu:
      cases/misc/amtu/index.yaml
    misc_header-test:
      cases/misc/header-test/index.yaml
    misc_module-load:
      cases/misc/module-load/index.yaml
    misc_kernel-fips-mode:
      cases/misc/kernel-fips-mode/index.yaml
    networking_bridge_sanity:
      cases/networking/bridge/sanity/index.yaml
    networking_ethernet_drivers_sanity:
      cases/networking/ethernet/drivers/sanity/index.yaml
    networking_macsec_sanity:
      cases/networking/macsec/sanity/index.yaml
    networking_socket_socket_fuzz:
      cases/networking/socket/socket_fuzz/index.yaml
    networking_ipv6_Fujitsu-socketapi-test:
      cases/networking/ipv6/Fujitsu-socketapi-test/index.yaml
    networking_sctp_auth_sockopts:
      cases/networking/sctp/auth/sockopts/index.yaml
    networking_igmp_conformance:
      cases/networking/igmp/conformance/index.yaml
    networking_route_pmtu:
      cases/networking/route/pmtu/index.yaml
    networking_route_route_func:
      cases/networking/route/route_func/index.yaml
    networking_tcp_tcp_keepalive:
      cases/networking/tcp/tcp_keepalive/index.yaml
    networking_udp_udp_socket:
      cases/networking/udp/udp_socket/index.yaml
1147
1148
    networking_netfilter:
      cases/networking/netfilter/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
    networking_tunnel_geneve_basic:
      cases/networking/tunnel/geneve/basic/index.yaml
    networking_tunnel_gre_basic:
      cases/networking/tunnel/gre/basic/index.yaml
    networking_tunnel_l2tp_basic:
      cases/networking/tunnel/l2tp/basic/index.yaml
    networking_tunnel_vxlan_basic:
      cases/networking/tunnel/vxlan/basic/index.yaml
    networking_ipsec_ipsec_basic_ipsec_basic_netns:
      cases/networking/ipsec/ipsec_basic/ipsec_basic_netns/index.yaml
    networking_vnic_ipvlan_basic:
      cases/networking/vnic/ipvlan/basic/index.yaml
    packages_audit_audit-testsuite:
      cases/packages/audit/audit-testsuite/index.yaml
    packages_httpd_mod_ssl-smoke:
      cases/packages/httpd/mod_ssl-smoke/index.yaml
    packages_iotop_sanity:
      cases/packages/iotop/sanity/index.yaml
    packages_libkcapi_af_alg-test:
      cases/packages/libkcapi/af_alg-test/index.yaml
    packages_net-snmp_tcp-transport:
      cases/packages/net-snmp/tcp-transport/index.yaml
1171
1172
    packages_perf:
      cases/packages/perf/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
    packages_redhat-rpm-config_detect-kabi-provides:
      cases/packages/redhat-rpm-config/detect-kabi-provides/index.yaml
    packages_redhat-rpm-config_kabi-whitelist-not-found:
      cases/packages/redhat-rpm-config/kabi-whitelist-not-found/index.yaml
    packages_redhat-rpm-config_kernel-module-symbol-requires:
      cases/packages/redhat-rpm-config/kernel-module-symbol-requires/index.yaml
    packages_selinux-policy_serge-testsuite:
      cases/packages/selinux-policy/serge-testsuite/index.yaml
    packages_tuned_tune-processes-through-perf:
      cases/packages/tuned/tune-processes-through-perf/index.yaml
    pciutils_sanity-smoke:
      cases/pciutils/sanity-smoke/index.yaml
    pciutils_update-pciids:
      cases/pciutils/update-pciids/index.yaml
    # Disable suspend-resume test until FMK-1081 is resolved
    # power-management_suspend-resume:
    #   cases/power-management/suspend-resume/index.yaml
    power-management_rapl_powercap:
      cases/power-management/rapl/powercap/index.yaml
    power-management_cpupower_sanity:
      cases/power-management/cpupower/sanity/index.yaml
    power-management_cpufreq_cpufreq_governor:
      cases/power-management/cpufreq/cpufreq_governor/index.yaml
    power-management_cpufreq_sys_cpufreq:
      cases/power-management/cpufreq/sys_cpufreq/index.yaml
1198
1199
    rdma_sanity:
      cases/rdma/sanity/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
    legacy_pci_id:
      cases/legacy/pci_id/index.yaml
    legacy_whitelist:
      cases/legacy/whitelist/index.yaml
    debuginfo_vmlinux-debug-sections:
      cases/debuginfo/vmlinux-debug-sections/index.yaml
    rt_rt_cert:
      cases/rt/rt_cert/index.yaml
    rt_rt_migrate_test:
      cases/rt/rt_migrate_test/index.yaml
    rt_rteval:
      cases/rt/rteval/index.yaml
    rt_sched_deadline:
      cases/rt/sched_deadline/index.yaml
    rt_smidetect:
      cases/rt/smidetect/index.yaml
    selftests_powerpc:
      cases/selftests/powerpc/index.yaml
    selftests_livepatch:
      cases/selftests/livepatch/index.yaml
    sound_aloop:
      cases/sound/aloop/index.yaml
    sound_user-ctl-elem:
      cases/sound/user-ctl-elem/index.yaml
    standards_usex:
      cases/standards/usex/index.yaml
    storage_blk:
1227
      cases/storage/blktests/blk/index.yaml
1228
1229
    storage_nvme:
      cases/storage/blktests/nvme/index.yaml
1230
1231
    storage_srp:
      cases/storage/blktests/srp/index.yaml
1232
1233
    storage_block:
      cases/storage/block/index.yaml
1234
1235
    storage_nvdimm:
      cases/storage/nvdimm/ndctl-test-suite/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1236
1237
1238
1239
    storage_dm_common:
      cases/storage/dm/common/index.yaml
    storage_lvm_thinp_sanity:
      cases/storage/lvm/thinp/sanity/index.yaml
1240
1241
    storage_lvm_device-mapper:
      cases/storage/lvm/device-mapper/index.yaml
Vector Li's avatar
Vector Li committed
1242
1243
    storage_lvm_cache:
      cases/storage/lvm/cache/index.yaml
Vector Li's avatar
Vector Li committed
1244
1245
    storage_lvm_snapper:
      cases/storage/lvm/snapper/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1246
1247
1248
1249
    storage_scsi_vpd:
      cases/storage/scsi/vpd/index.yaml
    storage_swraid_trim:
      cases/storage/swraid/trim/index.yaml
1250
1251
    storage_swraid_mdadm_raid_module:
      cases/storage/swraid/mdadm/raid_module/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
    storage_hba:
      cases/storage/hba/index.yaml
    storage_hwraid:
      cases/storage/hwraid/index.yaml
    storage_iscsi_params:
      cases/storage/iscsi/params/index.yaml
    stress_stress-ng:
      cases/stress/stress-ng/index.yaml
    syscalls_nr_diff:
      cases/syscalls/nr_diff/index.yaml
1262
1263
    trace_bpf_selftest_bpf:
      cases/trace/bpf/selftest_bpf/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1264
1265
1266
1267
1268
1269
1270
1271
    trace_bpf_test_ebpf:
      cases/trace/bpf/test_ebpf/index.yaml
    trace_ftrace_tracer:
      cases/trace/ftrace/tracer/index.yaml
    vm_hugepage_libhugetlbfs:
      cases/vm/hugepage/libhugetlbfs/index.yaml
    tracepoints_operational:
      cases/tracepoints/operational/index.yaml
1272
1273
    vm_kvm:
      cases/vm/kvm/index.yaml
Nikolai Kondrashov's avatar
Nikolai Kondrashov committed
1274
1275
1276
1277
    kdump_sysrq-c:
      cases/kdump/sysrq-c/index.yaml
    kdump_kexec-boot:
      cases/kdump/kexec-boot/index.yaml
1278
1279
    kdump_file-load:
      cases/kdump/file-load/index.yaml
Rachel Sibley's avatar
Rachel Sibley committed
1280
1281
    watchdog:
      cases/watchdog/hw-generic/index.yaml