Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There may be times that you wish to influence the building and testing carried out on your change. You might for example be fixing an issue that affects a particular distribution or combination of distributions, for this reason , CPU architecture, interoperability with a particular Lustre version, or fails only intermittently and needs multiple test runs to confirm it is fixed.  To address these needs, you can change or add the tests carried out by indicating in the commit message the changes you require. Test Parameter sessions are -Parameter sessions are normally in addition to to the normal tests test sessions that would be run against a patch.  This This allows a patch with specific or unusual testing requirements to ensure that sufficient additional testing is run to gain confidence in the change being made. For patches that are of an experimental nature (i.e. developer is not sure of functionality, or only wants a limited set of tests to be run just to try something), it is also possible to submit a patch with the fortestonly parameter.

To run additional sessions for your patch, add 'Test-Parameters: ' with space-separated name value pairs to your commit message (order within the line does not matter).

For example:

Code Block
themeMidnight
Test-Parameters: testlist=conf-sanity env=ONLY=32 testlist=conf-sanity61,ONLY_REPEAT=20

This will cause Autotest to run the normal test sessions plus 1 one additional session where only conf-sanity.sh test #32 _61 will run, and it will be repeated 20 times.  The parameters specified in Test-Parameters do not affect the existing sessions that are run by default.

Multiple 'Test-Parameters:' lines can be defined, with each Test-Parameters line triggering a separate test session to run in parallel with the default test sessions (parameters are not carried over across multiple lines):

Code Block
themeMidnight
Test-Parameters: testgroup=review-ldiskfs clientdistro=sles12sp3 serverdistro=sles12sp3el9.3
Test-Parameters: testgroup=review-ldiskfs clientdistro=ubuntu1804 serverdistro=el7.9

Long lists can be catered for by escaping the carriage return, but are otherwise not subject to the 70-character limit for commit messages:

Code Block
themeMidnight
Test-Parameters: ostcount=2 clients=1 ostsizegb=2 mdssizegb=2 env=SLOW=yes \
                 testlist=sanity,liblustre

...

Panel
titleignore | flag

Signals to all components the patch should be completely ignored. Jenkins will not build the patch (the status will be FAILURE) and as a result it will not be tested by Autotest or the Lustre Janitor. Your patch will not receive a +/- 1 from Maloo.

Code Block
themeMidnight
Test-Parameters: ignore

...

Panel
titleenv, envdefinitions | String

Comma separated environment definitions passed to the test environment. For definitions requiring spaces, enclose them in quotations.

NOTE: Be very careful setting environment variables directly (for example OSTFSTYPE=zfs) because Autotest creates a config file based on the environment it builds. If you ask for something at odds with Autotest's expectations you will see failure instead of success.  In this case, for example, you should use the filesystemtype the filesystemtype keyword described on this page. Autotest will then create the appropriate environment variables, the same is true for other things like ostcount instead of OSTCOUNTof OSTCOUNT, ostsizegb instead of OSTSIZEof OSTSIZE, etc. Only use the env parameter the env  parameter when a direct variable is not listed here.

Code Block
themeMidnight
env=SLOW=yes
envdefinitions=SLOW=yes

# multiple definitions
env=ONLY=123,HONOR_EXCEPT=y

# one with spaces that must be enclosed in quotations
env=SLOW=yes,SANITY_EXCEPT="101g 102i"

...

Panel
titleforbuildonly | Boolean

Patch will be built by Jenkins, but Autotest will not run any testing.

Valid values: true, false (no value is the same as true)

Code Block
themeMidnight
# mark build as for build only
forbuildonly
# or
forbuildonly=true

# disable forbuildonly - typically not necessary since the default is false
forbuildonly=false

...

Panel
titlefortestonly | Boolean

The fortestonly parameter parameter marks that the patch is not intended for landing. Any testlist= specified with Test-Parameters: fortestonly will replace the default tests that will be run, so it is possible to run only a subset of tests.  Patches marked with fortestonly will not receive the Verified label +1 label from Maloo and cannot be landed. In order to land such a patch, it should be rebased and submitted without the fortestonly keyword once the patch is known to be good, or the commit comment in Gerrit should be edited to remove the fortestonly label which will rebuild and retest the patch and will preserve any reviews that the patch has received).

Valid values: true, false (no value is the same as true)

Code Block
themeMidnight
# mark build as for test only
fortestonly
# or
fortestonly=true

# mark patch as for test onlyexperimental and run only a custom list of test
fortestonly testlist=conf-sanity

# disable fortestonly - typically not necessary since the default is false
fortestonly=false

...

Panel
titlemdtcount | Integer

The total number of MDTs across spread across all of the MDSs.

Valid values: 1 - 4 per MDS

Code Block
themeMidnight
# create 4 MDTs per MDS
mdscount=2 mdtcount=8

# create 1 MDT per MDS
mdscount=4 mdtcount=4

...