Skip to content

Commit

Permalink
Add xfstests parameter document into variables.md
Browse files Browse the repository at this point in the history
Summary all xfstests related parameters into variables.md.
  • Loading branch information
SeroSun authored and alice-suse committed Nov 21, 2023
1 parent fbdf787 commit 0db5ac1
Showing 1 changed file with 61 additions and 0 deletions.
61 changes: 61 additions & 0 deletions variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ NOTE: This list is not complete and may contain outdated info. If you face such
For a better overview some domain-specific values have been moved to their own section:

* [Publiccloud](#publiccloud-specific-variables)
* [Wicked](#wicked-testsuite-specifc-variables)
* [xfstests](#xfstests-specific-variables)

Variable | Type | Default value | Details
--- | --- | --- | ---
Expand Down Expand Up @@ -270,6 +272,7 @@ QESAP_INSTALL_GITHUB_NO_VERIFY | string | | Configure http.sslVerify false. Igno
QESAP_ROLES_INSTALL_GITHUB_REPO | string | github.com/sap-linuxlab/community.sles-for-sap | Git repository where to clone from. Ignored if QESAP_ROLES_INSTALL_VERSION is configured.
QESAP_ROLES_INSTALL_GITHUB_BRANCH | string | | Git branch. Ignored if QESAP_ROLES_INSTALL_VERSION is configured.


### Publiccloud specific variables

The following variables are relevant for publiccloud related jobs. Keep in mind that variables that start with `_SECRET` are secret variables, accessible only to the job but hidden in the webui. They will be not present in cloned jobs outside the original instance.
Expand Down Expand Up @@ -377,3 +380,61 @@ WICKED_SKIP_VERSION_CHECK | bool | false | Some test-modules require a specific
WICKED_TCPDUMP | bool | false | If enabled, on each test-module the network interfaces are set into promiscuous mode and a `*.pcap` file will be captured and uploaded.
WICKED_VALGRIND | string | | Enable valgind for specified wicked binaries. Multiple values should be separated by `,`. If set to `all` or `1`, valgrind is enabled for all binaries(wickedd-auto4, wickedd-dhcp6, wickedd-dhcp4, wickedd-nanny, wickedd and wicked).
WICKED_VALGRIND | string | /usr/bin/valgrind --tool=memcheck --leak-check=yes | The valgrind command used with `WICKED_VALGRIND` for each binary.


### xfstests specific variables

Following variables are relevant for filesystem tests xfstests. Contact: [email protected]

Regular setting: some mandatory setting

Variable | Type | Default value | Details
--- | --- | --- | ---
XFSTESTS_RANGES | string | | sub-tests ranges. This setting is mandatory. Support using "-" to define a range, or use "," to list separate subtests(e.g. xfs/001-999,generic/001). But the final test range will also count subtests defined in XFSTESTS_GROUPLIST, a skill to set subtests only by XFSTESTS_GROUPLIST is to set a minimal XFSTESTS_RANGES with XFSTESTS_GROUPLIST
NO_SHUFFLE | boolean | 0 | the default sequence to run all subtests is a random sequence, it's designed to reduce the influence between each subtest. Set NO_SHUFFLE=1 to run in order
XFSTESTS_BLACKLIST | string | | set the sub-tests will not run. Mostly use in the feature not supported, and exclude some critical issues to make whole tests stable. The final skip test list will also count those defined in XFSTESTS_GROUPLIST. It's also support "-" and "," to set skip range
XFSTESTS_GROUPLIST | string | | it's an efficient way to set XFSTESTS_RANGES. Most likely use in test whole range in a single test, such as test special mount option. The range is supported in xfstests upstream, to know the whole range of group names could take a look at xfstests upstream README file. This parameter in openqa supports not only "include" tests, but also "exclude" tests. To add a "!" before a group name to exclude all subtests in that group. Here is an example: e.g. XFSTESTS_GROUPLIST=quick,!fuzz,!fuzzers,!realtime (Add all subtests in quick group, and exclude all dangerous subtests in fuzz, fuzzers, realtime groups)


Run-time related: timeout control to avoid random fails when low performance

Variable | Type | Default value | Details
--- | --- | --- | ---
XFSTESTS_HEARTBEAT_INTERVAL | integer | 30 | The interval (seconds) of each heartbeat signal
XFSTESTS_HEARTBEAT_TIMEOUT | integer | 200 | The timeout (seconds) of not receiving a heartbeat signal
XFSTESTS_SUBTEST_MAXTIME | integer | 2400 | Define the max test time (seconds) for a single subtest. The test logic will take the time out as a hang, to reset SUT and continue the rest of the tests. Considering xfstests contain some fuzzing tests which take quite a long time to finish, I suggest this max time don't set too small
XFSTESTS_NO_HEARTBEAT | boolean | 0 | set XFSTESTS_NO_HEARTBEAT=1 to enable non-heartbeat mode. The heartbeat mode is default, you could also unset this parameter
XFSTESTS_TIMEOUT | integer | 2000 | set de timeout (seconds) for each subtest. It is only used in non-heartbeat mode. And it's the only time control strategy in that mode


Installation related: some optional setting to solve testsuite installation dependency issue

Variable | Type | Default value | Details
--- | --- | --- | ---
XFSTESTS_REPO | string | | repo to install xfstests package
DEPENDENCY_REPO | string | | ibs/obs repo to install related test package to solve dependency issues. e.g. fio
XFSTESTS_DEVICE | string | | manually set a test disk for both TEST_DEV and SCRATCH_DEV


Filesystem specific setting:

Variable | Type | Default value | Details
--- | --- | --- | ---
XFSTEST_MKFS_OPTION | string | | BTRFS only, value=<options-in-mkfs>. Set the options in mkfs.btrfs. And also set it in xfstests runtime option BTRFS_MKFS_OPTIONS.
XFSTESTS_LOGDEV | boolean | 0 | XFS only, value=0/1. enable log device in testing xfs
XFSTESTS_XFS_REPAIR | boolean | 0 | XFS only, value=0/1. enable TEST_XFS_REPAIR_REBUILD=1 in xfstests log file local.config
XFSTESTS_NFS_VERSION | string | 4.1 | NFS only, version of test target NFS
XFSTESTS_NFS_SERVER | boolean | | NFS multimation test only, mandatory. To tag this test job for NFS server in a NFS multimachine test. NFS test in a multimachine test either a client or a server.
NFS_GRACE_TIME | integer | 15 | NFS only, set the nlm_grace_period in /etc/modprobe.d/lockd.conf used in NFS test.
PARALLEL_WITH | string | | NFS multimation test only, value=<set-the-parent-job-name>. To set the NFS server job name in NFS client job in a NFS multimachine test. e.g. xfstests_nfs4.1-server


Debug setting: advance setting to debugging issues, may cause test fail

Variable | Type | Default value | Details
--- | --- | --- | ---
XFSTESTS_DEBUG | string | | set it to enable debug tools under /proc/sys/kernel/. The value of XFSTESTS_DEBUG could be one or more parameters in the following: [hardlockup_panic hung_task_panic panic_on_io_nmi panic_on_oops panic_on_rcu_stall...] Collect more than 1 value at a time could use <space> to split it. e.g. XFSTESTS_DEBUG='hardlockup_panic panic_on_oops'. BTW, the softlockup_all_cpu_backtrace and softlockup_panic are default enabled
BTRFS_DUMP | boolean | 0 | set BTRFS_DUMP=1 to collect btrfs dump image. It uses btrfs-image create/restore an image of the filesystem
RAW_DUMP | boolean | 0 | set RAW_DUMP=1 to collect raw dump. It uses dd to collect start 512k info to dump the superblock of SCRATCH_DEV or SCRATCH_DEV_POOL
INJECT_INFO | string | | Add 1 or several lines of code into xfstests level test script(not in openqa script). To add some debug or log collect info. This code will be used by the test wrapper, it will influence all subtests in this test, so better to only use it in debug and set XFSTESTS_RANGES to the subtest you want to. It contains 2 parameters split by space, the format: '<line-number><space><code>'. Beware the output may not match after injection, and better not to add space in the <code> part to avoid mistakes. e.g. INJECT_INFO='49 free' (to check memory in test code line 49)
INJECT_INFO='<line-number> xtrace | string | | A special inject code is to set xtrace to debug shell script. Set INJECT_INFO='<line-number> xtrace' to openqa configure to enable it and start to record command start after injecting line <line-number>, and redirect debug info to /opt/log/xxx_xtrace.log

0 comments on commit 0db5ac1

Please sign in to comment.