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 parameterparameter.

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

...

The test parameter sessions can be influenced in many ways, see the the General Parameters and  and Node Parameters sections sections below for all of the options.


Anchor
generalbuild_parametersgeneral
build_parameters

...

Build Parameters

Below is the list of general test parameters that can be used to run custom test sessions. These parameters differ from the node_parameters in that these do not need to be specified with a node type prefix.For all of the examples below the 'Test-Parameters:' marker has been omitted to simplify the examplesare build parameters read by Jenkins, and the Lustre Janitor.


Panel
titleausteroptions forjanitoronly | Stringflag

Signals to all components the patch is intended for Lustre Janitor testing only. Jenkins will not build the patch (the status will be FAILURE) and therefore, Autotest will not test it. Your patch will not receive a +/- 1 from Maloo

Pass through options for auster.

Valid values: See "Auster usage help" section on the Setting up a Lustre Test Environment wiki.

Code Block
themeMidnight
austeroptions=-R

...

Test-Parameters: forjanitoronly

...

Panel
titlecombinedmdsmgs ignore | Boolean

When true, the MGT will share a partition with an MDT. When false, AT will create an additional partition to be used by just the MGT.

NOTE: mdtfilesystemtype will override mgtfilesystemtype when combinedmdsmgs is true. If standalonemgs is set to true, this option will be ignored.

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

Code Block
themeMidnight
# creates a shared partition to be used by the MGT and a MDT - typically not necessary since this is the default
combinedmdsmgs
# or
combinedmdsmgs=true

# creates an additional partition to be used by the MGT
combinedmdsmgs=false
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 keyword described on this page. Autotest will then create the appropriate environment variables, the same is true for other things like ostcount instead of OSTCOUNT, ostsizegb instead of OSTSIZE, etc. Only use the env parameter when a direct variable is not listed here.

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

# multiple definitions, one with spaces that must be enclosed in quotations
env=SLOW=yes,SANITY_EXCEPT="101g 102i"
Panel
titlefailover | Boolean

Setup cluster in failover configuration

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

Code Block
themeMidnight
# enable failover
failover
# or
failover=true

# disable failover setup
failover=false
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

...

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


Anchor
general_parameters
general_parameters

General Parameters

Below is the list of general test parameters that can be used to run custom test sessions. These parameters differ from the node_parameters in that these do not need to be specified with a node type prefix.

For all of the examples below the 'Test-Parameters:' marker has been omitted to simplify the examples.


Panel
titleausteroptions | String

Pass through options for auster.

Valid values: See "Auster usage help" section on the Setting up a Lustre Test Environment wiki.

Code Block
themeMidnight
austeroptions=-R

Anchor
combinedmdsmgs
combinedmdsmgs

Panel
titlecombinedmdsmgs | Boolean

When true, the MGT will share a partition with an MDT. When false, AT will create an additional partition to be used by just the MGT.

NOTE: mdtfilesystemtype will override mgtfilesystemtype when combinedmdsmgs is true. If standalonemgs is set to true, this option will be ignored.

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

Code Block
themeMidnight
# creates a shared partition to be used by the MGT and a MDT - typically not necessary since this is the default
combinedmdsmgs
# or
combinedmdsmgs=true

# creates an additional partition to be used by the MGT
combinedmdsmgs=false
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 keyword described on this page. Autotest will then create the appropriate environment variables, the same is true for other things like ostcount instead of OSTCOUNT, ostsizegb instead of OSTSIZE, etc. Only use 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
titlefacet | String

Used to specify which node should run the test framework. Default is client1.

Valid values: mds1, oss1, client2, etc.

Code Block
themeMidnight
# specify mds1 as the facet
facet=mds1

# invalid facet value, will cause an error message to be posted to the Gerrit review
mdscount=1 facet=mds2
Panel
titlefailover | Boolean

Setup cluster in failover configuration

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

Code Block
themeMidnight
# enable failover
failover
# or
failover=true

# disable failover setup
failover=false

Anchor
forbuildonly
forbuildonly

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

...

Panel
titlefortestonly | Boolean

The fortestonly 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 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 only and run a custom list of test
fortestonly testlist=conf-sanity

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

...

Panel
titlefstype | String

Sets the file system type for all server nodes (MDS, MGS and OSS).

NOTE: fstype should not be used in combination with <mdt/mgt/ost>filesystemtype.

Valid values: ldiskfs, zfs

Code Block
themeMidnight
# set all server nodes to use zfs
fstype=zfs

# set all server nodes to use ldiskfs
fstype=ldiskfs

# this may result in an unexpected configuration
fstype=zfs mdtfilesystemtype=ldiskfs
Panel
titleiscsi | boolean

Use iSCSI for failover testing

Valid values: 0 (no iSCSI), 1 (iSCSI)

Code Block
themeMidnight
# do not setup iscsi
iscsi=0 mark build as for build only
forbuildonly
# or
forbuildonly=true

# setup iscsi
iscsi=1
Panel
titlemdssizegb | Integer

Sets the size of the partitions on the MDS in GB.

Valid values: > 0 and must be an integer. When setting this value, take into consideration your mdtcount value and that most test nodes have ~90GB of disk space.

Code Block
themeMidnight
# configure 2GB partitions on the MDS
mdssizegb=2
disable forbuildonly - typically not necessary since the default is false
forbuildonly=false

Anchor
fortestonly
fortestonly
Anchor
mdtcountmdtcount

Panel
titlemdtcount fortestonly | IntegerBoolean

The fortestonly 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 +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 experimental and run only a custom list of test
fortestonly testlist=conf-sanity

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

Anchor
fstype
fstype

Panel
titlefstype | String

Sets the file system type for all server nodes (MDS, MGS and OSS).

NOTE: fstype

The total number of MDTs 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
Panel
titlemdtfilesystemtype | String

Configure the file system type to use on the MDTs.

NOTE: <mdt/mgt/ost>filesystemtype should not be used in combination with fstype<mdt/mgt/ost>filesystemtype.

Valid values: ldiskfs, zfs

Code Block
themeMidnight
# configureset all theserver MDTsnodes to use zfs
mdtfilesystemtypefstype=zfs

# configureset all theserver MDTsnodes to use ldiskfs
mdtfilesystemypefstype=ldiskfs

# this may result in an unexpected configuration
fstype=zfs mdtfilesystemtype=ldiskfs
Panel
titlemgssizegb iscsi | Integerboolean

Use iSCSI for failover testingSets the size of the partition on the MGS in GB. This value is only applicable when the session is using a stand alone MGS.

Valid values: > 0 and must be an integer. When setting this value, take into consideration that most test nodes have ~90GB of disk space.0 (no iSCSI), 1 (iSCSI)

Code Block
themeMidnight
# configuredo anot 2GB partition on the MGS
mgssizegb=2
setup iscsi
iscsi=0

# setup iscsi
iscsi=1
Panel
titlemgtfilesystemtype kerberos | Stringboolean

Configure the file system type Set the cluster up to use on the MGTs.

NOTE: The default value for combinedmdsmgs is true, therefore it must be set to false in order to configure a different file system type for the MGT. Also, <mdt/mgt/ost>filesystemtype should not be used in combination with fstype.

Kerberos

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

Code Block
themeMidnight
# configure the MGTs to use zfs
mgtfilesystemtype=zfs combinedmdsmgs=falsesetup kerberos
kerberos
# or
kerberos=true

# configuredo thenot MGTs to use ldiskfs
mgtfilesystemype=ldiskfs combinedmdsmgs=false

# since combinedmdsmgs defaults to true, mgtfilesystemtype will be ignored and
# the MGT will use ldiskfs
mdtfilesystemtype=ldiskfs mgtfilesystemype=zfs
 
# do not do this - may result in an unexpected configuration
fstype=zfs mgtfilesystemtype=ldiskfssetup kerberos
kerberos=false
Panel
titlelivedebug

For DDN employees only: How to: livedebug

Anchor
mdscount
mdscount

Panel
titlemdscount | Integer

The total number of MDS nodes in the cluster.

Valid values: 1 - 8 MDS nodes

Code Block
themeMidnight
# create 2 MDS nodes with 4 MDTs each
mdscount=2 mdtcount=8

# create 4 MDS nodes with 1 MDT each
mdscount=4 mdtcount=4
Panel
titlemdssizegb | Integer

Sets the size of the partitions on the MDS in GB.

Valid values: > 0 and must be an integer. When setting this value, take into consideration your mdtcount value and that most test nodes have ~90GB of disk space.

Panel
titleoptional | Boolean

Marks the test session as optional: does not impact the verified value from Maloo and is only run if resources are immediately available.

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

Code Block
themeMidnight
# markconfigure a2GB sessionpartitions as optional
optional
# or
optional=true

# mark a session as required - typically not necessary since false is the default
optional=false

...

on the MDS
mdssizegb=2

Anchor
mdtcount
mdtcount

Panel
titlemdtcount

...

Panel
titleostcount | Integer

The total number of OSTs across MDTs spread across all of the OSSsMDSs.

Valid values: 1 - 4 per OSSMDS

Code Block
themeMidnight
# create 4 OSTsMDTs per OSSMDS
osscountmdscount=2 ostcountmdtcount=8

# create 1 OSTMDT per OSSMDS
osscountmdscount=4 ostcountmdtcount=4
Panel
titleostfilesystemtype mdtfilesystemtype | String

Configure the file system type to use on the OSTsMDTs.

NOTE: <mdt/mgt/ost>filesystemtype should not be used in combination with fstype.

Valid values: ldiskfs, zfs

Code Block
themeMidnight
# configure the OSTsMDTs to use zfs
ostfilesystemtypemdtfilesystemtype=zfs

# configure the OSTsMDTs to use ldiskfs
ostfilesystemypemdtfilesystemype=ldiskfs

# do not do this - may result in an unexpected configuration
fstype=zfs ostfilesystemtypemdtfilesystemtype=ldiskfs
Panel
titleostsizegb mgssizegb | Integer

Sets the size of the partitions partition on the OSS MGS in GB. This value is only applicable when the session is using a stand alone MGS.

Valid values: > 0 and must be an integer. When setting this value, take into consideration your ostcount value and that most test nodes have ~90GB of disk space.

Code Block
themeMidnight
# configure a 2GB partitionspartition on the OSSMGS
ostsizegbmgssizegb=2
Panel
titleresumeaftercrash mgtfilesystemtype | BooleanString

Configure the file system type to use on the MGTs.

NOTE: The default value for combinedmdsmgs is true, therefore it must be set to false in order to configure a different file system type for the MGT. Also, <mdt/mgt/ost>filesystemtype should not be used in combination with fstype.

Valid values: ldiskfs, zfs

When true, Autotest will continue the session after a suite crashes. The session will continue with the suite following the one that crashed. When false, Autotest will stop the session and upload the results to Maloo immediately.

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

Code Block
themeMidnight
# configure the sessionMGTs to continue after a suite crashes - typically not necessary since the default is true
resumeaftercrash
# or
resumeaftercrash=true

# configure the session to stop after a suite crashes
resumeaftercrash=falseuse zfs
mgtfilesystemtype=zfs combinedmdsmgs=false

# configure the MGTs to use ldiskfs
mgtfilesystemype=ldiskfs combinedmdsmgs=false

# since combinedmdsmgs defaults to true, mgtfilesystemtype will be ignored and
# the MGT will use ldiskfs
mdtfilesystemtype=ldiskfs mgtfilesystemype=zfs
 
# do not do this - may result in an unexpected configuration
fstype=zfs mgtfilesystemtype=ldiskfs
Panel
titleoptional | Boolean

Marks the test session as optional: does not impact the verified value from Maloo and is only run if resources are immediately available

Panel
titlesignofftest | Boolean

Marks the session as enforcing: is used to determine the verified value from Maloo.

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

Code Block
themeMidnight
# mark thea session as enforcing - typically not needed since the default is true
signofftestoptional
optional
# or
signofftestoptional=true

# mark thea session as required - typically not enforcing
signofftest necessary since false is the default
optional=false

Anchor
ostcount
ostcount

Panel
titlestandalonemgs ostcount | BooleanInteger

The number of OSTs per OSSProvisions a separate test node as the MGS. The MGS will be setup with the same parameters as the MDS unless they're overwritten.

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

Code Block
themeMidnight
# configurecreate the8 sessionOSTs to run with a stand alone MGS
standalonemgs
# or
standalonemgs=trueper OSS
osscount=2 ostcount=8

# configurecreate the4 sessionOSTs to run with the MGS on the MDS but separate partitions
standalonemgs=false combinedmdsmgs=falseper OSS
osscount=4 ostcount=4
Panel
titleostfilesystemtype | String

Configure the file system type to use on the OSTs.

NOTE: <mdt/mgt/ost>filesystemtype should not be used in combination with fstype.

Valid values: ldiskfs, zfs

Code Block
themeMidnight
# configure the OSTs to use zfs
ostfilesystemtype=zfs

# configure the sessionOSTs to run with the MGS on the MDS and have the MGT share
# a partition with a MDT
standalonemgs=false combinedmdsmgs=true

# configure the session to run with a stand alone MGS with a different file
# system type than the OSS and MDS
standalonemgs mgtfilesystemtype=zfs mdtfilesystemtype=ldiskfs ostfilesystemtypeuse ldiskfs
ostfilesystemype=ldiskfs

# do not do this - may result in an unexpected configuration
fstype=zfs ostfilesystemtype=ldiskfs
Panel
titleostsizegb | Integer

Sets the size of the partitions on the OSS in GB.

Valid values: > 0 and must be an integer. When setting this value, take into consideration your ostcount value and that most test nodes have ~90GB of disk space.

Panel
titlesubproject, @ | Boolean

Specifies the subproject of the patch. Subprojects must be added by Autotest Admin, currently the only configured subproject is lnet.

Valid values: lnet

Code Block
themeMidnight
# configure the2GB sessionpartitions toon run the lnet subproject test sessions
@lnet
# or
subproject=lnet

...

OSS
ostsizegb=2

...

Panel
titletestgroup resumeaftercrash | StringBoolean

When true, Autotest will continue the session after a suite crashes. The session will continue with the suite following the one that crashed. When false, Autotest will stop the session and upload the results to Maloo immediately.

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

Configure the test session to run a specific test group. Specifying a test group makes it easy to run a typical test grouping with small modifications since the session will inherit all of the values from the base test with any overrides applied (see the code block below for examples).

NOTE: testgroup can be combined with testlist to run a test group plus additional suites

Valid values: See the Test Groups section for a complete list

Code Block
themeMidnight
# runconfigure athe typicalsession review-ldiskfsto sessioncontinue withafter a standsuite alonecrashes MGS
testgroup=review-ldiskfs standalonemgs

# run failover with a specific server version
testgroup=failover serverversion=2.11.50

# run review-dne-part-1 with additional suites
testgroup=review-dne-part-1 testlist=sanity-lfsck,sanity-sec

...

typically not necessary since the default is true
resumeaftercrash
# or
resumeaftercrash=true

# configure the session to stop after a suite crashes
resumeaftercrash=false
Panel
titlesignofftest | Boolean

Marks the session as enforcing: is used to determine the verified value from Maloo.

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

...

Panel
titletestlist | String

Configure the test session to run a specific list of suites. testlist can be combined with testgroup to run a test group plus additional suites.

Valid values: sanity, sanityn, conf-sanity, mmp, replay-single, replay-dual, lnet-selftest, etc.

Code Block
themeMidnight
# runmark the asession customas listenforcing of suites
testlist=sanity,sanity-sec,sanity-hsm- typically not needed since the default is true
signofftest
# or
signofftest=true

# run review-dne-part-1 with additional suites
testlist=sanity-lfsck,sanity-sec testgroup=review-dne-part-1mark the session as not enforcing
signofftest=false
Panel
titletimeoutreprovision standalonemgs | Boolean

Configures the session to re-provision all of the nodes instead of simply reboot themProvisions a separate test node as the MGS. The MGS will be setup with the same parameters as the MDS unless they're overwritten.

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

Code Block
themeMidnight
# re-provision nodes after a timeout
timeoutreprovision configure the session to run with a stand alone MGS
standalonemgs
# or
timeoutreprovisionstandalonemgs=true

# rebootconfigure the nodessession afterto arun timeoutwith -the typicallyMGS noton necessarythe sinceMDS rebootbut is the default
timeoutreprovision=false
Panel
titletrivial | Boolean

The trivial keyword can be used to reduce the testing time (both wall-clock time as well as total test system hours) for patches that do not affect code functionality, such as changes to whitespace, comments, man pages, and test scripts (in conjunction with the testlist keyword to ensure the modified test script is run if it isn't already).  Patches marked with trivial in the Test-Parameters: list will run the review-ldiskfs test session instead of the regular tests, so it currently runs only sanity and lnet-selftest to ensure basic functionality.  If changes are only being made to a test script outside of those already run by default, an additional testlist=<test-script(s)>keyword should be added with a comma-separated list of modified tests to ensure they are run to validate the changes.  The trivial keyword will reduce the test completion time from approximately 10h elapsed and 30h of total test system time to approximately 3h elapsed/system time.  This saves test system resources that may be better spent on other patches.

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

Code Block
themeMidnight
# mark the patch as trivial
trivial
# or
trivial=true

# mark the patch as non-trivial - typically not necessary since this is the default
trivial=false

...

separate partitions
standalonemgs=false combinedmdsmgs=false

# configure the session to run with the MGS on the MDS and have the MGT share
# a partition with a MDT
standalonemgs=false combinedmdsmgs=true

# configure the session to run with a stand alone MGS with a different file
# system type than the OSS and MDS
standalonemgs mgtfilesystemtype=zfs mdtfilesystemtype=ldiskfs ostfilesystemtype
Panel
titlesubproject, @ | Boolean

Specifies the subproject of the patch. Subprojects must be added by Autotest Admin, currently the only configured subproject is lnet.

Valid values: lnet

Code Block
themeMidnight
# configure the session to run the lnet subproject test sessions
@lnet
# or
subproject=lnet


Anchor
testgroup
testgroup

Panel
titletestgroup | String

Configure the test session to run a specific test group. Specifying a test group makes it easy to run a typical test grouping with small modifications since the session will inherit all of the values from the base test with any overrides applied (see the code block below for examples).

NOTE: testgroup can be combined with testlist to run a test group plus additional suites

Valid values: See the Test Groups section for a complete list

Code Block
themeMidnight
# run a typical review-ldiskfs session with a stand alone MGS
testgroup=review-ldiskfs standalonemgs

# run failover with a specific server version
testgroup=failover serverversion=2.11.50

# run review-dne-part-1 with additional suites
testgroup=review-dne-part-1 testlist=sanity-lfsck,sanity-sec

Anchor
testlist
testlist

Panel
titletestlist | String

Configure the test session to run a specific list of suites. testlist can be combined with testgroup to run a test group plus additional suites.

Valid values: sanity, sanityn, conf-sanity, mmp, replay-single, replay-dual, lnet-selftest, etc.

...

Node Parameters

Node parameters are used to change how specific node types are configured. They must be prefixed with the node type being changed. Valid node types are client, mds, mgs, oss and server. Server is an alias that allows users to modify a value for all server node types (mds, mgs and oss). For example instead of writing

Code Block
themeMidnight
mdsdistro=el7 mgsdistro=el7 ossdistro=el7

Users can simply write

Code Block
themeMidnight
serverdistro=el7
Panel
titlearch | String or Array

Sets the architecture for the specified node type

Valid values: x86_64, ppc64, aarch64 (architecture must have been built for patch)

Code Block
themeMidnight
# clients will use x86_64
clientarch=x86_64

...

run a custom list of suites
testlist=sanity,sanity-sec,sanity-hsm

# run review-dne-part-1 with additional suites
testlist=sanity-lfsck,sanity-sec testgroup=review-dne-part-1
Panel
titlebuildno timeoutreprovision | IntegerBoolean

Configures the session to re-provision all of the nodes instead of simply reboot themUsed in conjunction with job to install a specific build on the specified node. job must be specified with buildno and version cannot be specified with buildno.

Valid values: Any valid Jenkins build number for the specified jobtrue, false (no value is the same as true)

Code Block
themeMidnight
# installre-provision thenodes server withafter a specific job/build combination
serverbuildno=343 serverjob=lustre-master timeout
timeoutreprovision
# or
timeoutreprovision=true

# this would fail since serverjob is not specified
serverbuildno=343
reboot the nodes after a timeout - typically not necessary since reboot is the default
timeoutreprovision=false

The number of nodes to use for the specified node type.

NOTE: For MDS and OSS nodes, it's best to also set mdtcount / ostcount to ensure you have the expected number of targets.

Valid values:

Panel
titlecount trivial | Integer
clientcount2 - 4
mdscount1 - 6
osscount1 - 4
Code Block
themeMidnight
# configure session to run with 4 clients, 2 MDSs and 1 OSS
clientcount=4 mdscount=2 osscount=1
Panel
titledistro | String
Boolean

The trivial keyword can be used to reduce the testing time (both wall-clock time as well as total test system hours) for patches that do not affect code functionality, such as changes to whitespace, comments, man pages, and test scripts (in conjunction with the testlist keyword to ensure the modified test script is run if it isn't already).  Patches marked with trivial in the Test-Parameters: list will run the review-ldiskfs test session instead of the regular tests, so it currently runs only  sanity  and  lnet-selftest  to ensure basic functionality.  If changes are only being made to a test script outside of those already run by default, an additional testlist=<test-script(s)>keyword should be added with a comma-separated list of modified tests to ensure they are run to validate the changes.  The trivial keyword will reduce the test completion time from approximately 10h elapsed and 30h of total test system time to approximately 3h elapsed/system time.  This saves test system resources that may be better spent on other patches.

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

Distribution to use for the specified node type.

Valid values: el7, el7.5, el7.6, ubuntu1604, ubuntu1804, sles12sp3, etc. (The distribution specified must have been built for the patch being tested. The distros built can be seen on the patch's build page in Jenkins.)

Code Block
themeMidnight
# specifymark the clientpatch to use el7 and all servers sles12sp3
clientdistro=el7 serverdistro=sles12sp3as trivial
trivial
# or
trivial=true

# specifymark the clientpatch toas use ubuntu1804, MDS to use el7 and OSS to use sles12sp3
clientdistro=ubuntu1804 mdsdistro=el7 ossdistro=sles12sp3
Panel
titleibstack | String

The IB stack to use for the specified node type.

Valid values: inkernel, ofa (The IB stack type must have been built for the build being tested. The stack types can be seen on the patch's build page in Jenkins.)
non-trivial - typically not necessary since this is the default
trivial=false


Anchor
node_parameters
node_parameters

Node Parameters

Node parameters are used to change how specific node types are configured. They must be prefixed with the node type being changed. Valid node types are client, mds, mgs, oss and server. Server is an alias that allows users to modify a value for all server node types (mds, mgs and oss). For example instead of writing

Code Block
themeMidnight
clientibstack=inkernel

...

mdsdistro=el7 mgsdistro=el7 ossdistro=el7

Users can simply write

Code Block
themeMidnight
serverdistro=el7

...

Panel
titlejob arch | String or Array

Sets the architecture for the specified node type

Valid values: x86_64, ppc64, aarch64 (architecture must have been built for patch)

Code Block
themeMidnight
# clients will use x86_64
clientarch=x86_64

Anchor
buildno_attr
buildno_attr

Panel
titlebuildno | Integer

Used in conjunction with job to Used with buildno to install a specific build on the specified node. buildno job must be specified with job. buildno and version cannot be specified with jobbuildno.

Valid values: Any valid Jenkins job, such as lustre-reviews, lustre-master, etc.build number for the specified job

Code Block
themeMidnight
# install the server with a specific job/build combination
serverbuildno=343 serverjob=lustre-b2_10 serverbuildno=123master 

# this would fail since buildnoserverjob is not specified for client
serverjob=lustre-b2_10 serverbuildno=123 clientjob=lustre-masterserverbuildno=343
Panel
borderStylesolid
titleselinux count | BooleanInteger

The number of nodes to use for Enables selinux on the specified node type.Valid values: true, false (no value is the same as true)

NOTE: For MDS and OSS nodes, it's best to also set mdtcount / ostcount to ensure you have the expected number of targets.

Valid values:

clientcount2 - 4
mdscount1 - 6
osscount1 - 4
Code Block
themeMidnight
# enablesconfigure selinuxsession on clients
clientselinux
# or
clientselinux=true

# disables selinux on clients - not typically necessary since false is the default
clientselinux=false

...

to run with 4 clients, 2 MDSs and 1 OSS
clientcount=4 mdscount=2 osscount=1
Panel
titledistro | String

Distribution

...

Panel
borderStylesolid
titleversion | String

The version of Lustre to use for the specified node type.NOTE: version cannot be specified with job and build

Valid values: For a list of valid versions see the Versions section.

Code Block
themeMidnight
# specify patch level versions
clientversion=2.10.3 serverversion=2.11.0

# specify minor versions which uses the highest patch level version
clientversion=2.10 serverversion=2.11

...

Versions

...

Version

...

Build

...

2.7.0 (2.7)

...

https://build.whamcloud.com/job/lustre-b2_7/29

...

2.8.0 (2.8)

...

https://build.whamcloud.com/job/lustre-b2_8/12

...

2.9.0 (2.9)

...

https://build.whamcloud.com/job/lustre-b2_9/22

...

2.10.0

...

https://build.whamcloud.com/job/lustre-b2_10/5

...

2.10.1

...

https://build.whamcloud.com/job/lustre-b2_10/30

...

2.10.2

...

https://build.whamcloud.com/job/lustre-b2_10/52

...

2.10.3

...

https://build.whamcloud.com/job/lustre-b2_10/69

...

2.10.4

...

https://build.whamcloud.com/job/lustre-b2_10/116

...

2.10.5

...

https://build.whamcloud.com/job/lustre-b2_10/136

...

2.11.0 (2.11)

...

https://build.whamcloud.com/job/lustre-b2_11/2

...

el7, el7.5, el7.6, ubuntu1604, ubuntu1804, sles12sp3, etc. (The distribution specified must have been built for the patch being tested. The distros built can be seen on the patch's build page in Jenkins.)

Code Block
themeMidnight
# specify the client to use el7 and all servers sles12sp3
clientdistro=el7 serverdistro=sles12sp3

# specify the client to use ubuntu1804, MDS to use el7 and OSS to use sles12sp3
clientdistro=ubuntu1804 mdsdistro=el7 ossdistro=sles12sp3
Panel
titleibstack | String

The IB stack to use for the specified node type.

Valid values: inkernel, ofa (The IB stack type must have been built for the build being tested. The stack types can be seen on the patch's build page in Jenkins.)

Code Block
themeMidnight
clientibstack=inkernel

Anchor
job_attr
job_attr

Panel
titlejob | String

Used with buildno to install a specific build on the specified node. buildno must be specified with job. version cannot be specified with job.

Valid values: Any valid Jenkins job, such as lustre-reviews, lustre-master, etc.

Code Block
themeMidnight
# install the server with a specific job/build combination
serverjob=lustre-b2_10 serverbuildno=123

# this would fail since buildno is not specified for client
serverjob=lustre-b2_10 serverbuildno=123 clientjob=lustre-master
Panel
borderStylesolid
titleselinux | Boolean

Enables selinux on the specified node type.

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

Code Block
themeMidnight
# enables selinux on clients
clientselinux
# or
clientselinux=true

# disables selinux on clients - not typically necessary since false is the default
clientselinux=false

Anchor
node_parameter_version
node_parameter_version

Panel
borderStylesolid
titleversion | String

The version of Lustre to use for the specified node type.

Version cannot be specified with job and build.

If a distro is not specified in the test parameters, Autotest will use the highest el version available for the specified version.

Valid values: For a list of valid versions see the Versions section.

Code Block
themeMidnight
# specify patch level versions
clientversion=2.10.3 serverversion=2.11.0

# specify minor versions which uses the highest patch level version
clientversion=2.10 serverversion=2.11

# specify Exascaler tags in the -ddn[0-9] format
clientversion=2.12.2-ddn2 serverversion=2.14.0-ddn23

# specify Exascaler tags in the EXAx.x.x format
clientversion=EXA5.0.1 serverversion=EXA6.0.0

# specify Exascaler tags in the EXAx format which uses the highest minor version
clientversion=EXA5 serverversion=EXA6

Note that in addition to the more commonly used serverversion=  option, it is possible (to a limited extent) to request separate ossversion= and mdsversion= if necessary.


Anchor
tags
tags

Versions

Versions are pointers to job/build combinations and simplify using a specific Lustre version on a test node. Versions can be specified in the test parameters using the version node parameter.

The versions in parenthesis auto-update as new versions are added. For example 1.9 will always point to the highest 1.9.x version. EXA1 will always point to the highest EXA1.x.x version.

If there is a version missing, send an email to  charlie@whamcloud.com

Version

Build

2.7.0 (2.7)

https://build.whamcloud.com/job/lustre-b2_7/29/

2.8.0 (2.8)

https://build.whamcloud.com/job/lustre-b2_8/12/

2.9.0 (2.9)

https://build.whamcloud.com/job/lustre-b2_9/22/

2.10.0

https://build.whamcloud.com/job/lustre-b2_10/5/

2.10.1

https://build.whamcloud.com/job/lustre-b2_10/30/

2.10.2

https://build.whamcloud.com/job/lustre-b2_10/52/

2.10.3

https://build.whamcloud.com/job/lustre-b2_10/69/

2.10.4

https://build.whamcloud.com/job/lustre-b2_10/116/

2.10.5

https://build.whamcloud.com/job/lustre-b2_10/136/

2.10.6

https://build.whamcloud.com/job/lustre-b2_10/152/

2.10.7

https://build.whamcloud.com/job/lustre-b2_10/168/

2.10.8 (2.10)

https://build.whamcloud.com/job/lustre-b2_10/170/

2.11.0 (2.11)

https://build.whamcloud.com/job/lustre-b2_11/2/

2.12.0

https://build.whamcloud.com/job/lustre-b2_12/2/

2.12.1

https://build.whamcloud.com/job/lustre-b2_12/13/

2.12.2

https://build.whamcloud.com/job/lustre-b2_12/18/

2.12.3

https://build.whamcloud.com/job/lustre-b2_12/53/

2.12.4

https://build.whamcloud.com/job/lustre-b2_12/66/

2.12.5

https://build.whamcloud.com/job/lustre-b2_12/87/

2.12.6

https://build.whamcloud.com/job/lustre-b2_12/112/

2.12.7

https://build.whamcloud.com/job/lustre-b2_12/135/

2.12.8

https://build.whamcloud.com/job/lustre-b2_12/152/

2.12.9 (2.12)

https://build.whamcloud.com/job/lustre-b2_12/164/

2.13.0 (2.13)

https://build.whamcloud.com/job/lustre-b2_13/6/

2.14.0 (2.14)

https://build.whamcloud.com/job/lustre-b2_14/2/

2.15.0

https://build.whamcloud.com/job/lustre-b2_15/13/

2.15.1https://build.whamcloud.com/job/lustre-b2_15/28/
2.15.2https://build.whamcloud.com/job/lustre-b2_15/48/
2.15.3https://build.whamcloud.com/job/lustre-b2_15/65/
2.15.4 (2.15)https://build.whamcloud.com/job/lustre-b2_15/81
EXAScaler Versions


Anchor
test_groups_section
test_groups_section

Test Groups

Test groups are set lists of Lustre test suites managed by Autotest.

Name

Suites

basic

conf-sanity

failover-part-1

replay-vbr, replay-dual, replay-single, mmp, replay-ost-single, recovery-small, recovery-double-scale

failover-part-2

recovery-random-scale

failover-part-3

recovery-mds-scale

failover-zfs-part-1

replay-vbr, replay-dual, replay-single, mmp, replay-ost-single, recovery-small, recovery-double-scale

failover-zfs-part-2

recovery-random-scale

failover-zfs-part-3

recovery-mds-scale

full-dne-part-1

sanity-scrub, replay-single, obdfilter-survey, replay-ost-single, large-scale, insanity, parallel-scale, runtests, replay-dual, sanity-flr, sanity-lsnapshot, mmp, sanity-dom, mds-survey, sanity-lfsck, sanity-lnet, pjdfstest, ost-pools, recovery-small

full-dne-part-2

lnet-selftest, sanity, sanity-hsm, lustre-rsync-test, sanity-sec, replay-vbr, parallel-scale-nfsv3, sanity-quota, sanity-pcc, sanity-lipe-find3, racer

full-dne-part-3

sanity-pfl, performance-sanity, sanity-benchmark, conf-sanity, sanityn, parallel-scale-nfsv4, hot-pools, sanity-lipe, sanity-lipe-scan3

full-dne-zfs-part-1

sanity-scrub, replay-single, obdfilter-survey, replay-ost-single, large-scale, insanity, parallel-scale, runtests, replay-dual, sanity-flr, sanity-lsnapshot, mmp, sanity-dom, mds-survey, sanity-lfsck, sanity-lnet, pjdfstest, ost-pools, recovery-small

full-dne-zfs-part-2

lnet-selftest, sanity, sanity-hsm, lustre-rsync-test, sanity-sec, replay-vbr, parallel-scale-nfsv3, sanity-quota, sanity-pcc, sanity-lipe-find3, racer

full-dne-zfs-part-3

sanity-pfl, performance-sanity, sanity-benchmark, conf-sanity, sanityn, parallel-scale-nfsv4, hot-pools, sanity-lipe, sanity-lipe-scan3

full-part-1

sanity-scrub, replay-single, obdfilter-survey, replay-ost-single, large-scale, insanity, parallel-scale, runtests, replay-dual, sanity-flr, sanity-lsnapshot, mmp, sanity-dom, mds-survey, sanity-lfsck, sanity-lnet, pjdfstest, ost-pools, recovery-small

full-part-2

lnet-selftest, sanity, sanity-hsm, lustre-rsync-test, sanity-sec, replay-vbr, parallel-scale-nfsv3, sanity-quota, sanity-pcc, sanity-lipe-find3, racer

full-part-3

sanity-pfl, performance-sanity, sanity-benchmark, conf-sanity, sanityn, parallel-scale-nfsv4, hot-pools, sanity-lipe, sanity-lipe-scan3

full-patchless

lnet-selftest, runtests, sanity, sanity-scrub, sanity-benchmark, sanity-lfsck, sanityn, sanity-hsm, sanity-flr, sanity-dom, sanity-lsnapshot, insanity, sanity-quota, sanity-sec, sanity-pfl, lustre-rsync-test, ost-pools, mds-survey, mmp, performance-sanity, parallel-scale, large-scale, obdfilter-survey, parallel-scale-nfsv3, parallel-scale-nfsv4, pjdfstest, sanity-lnet, racer

full-zfs-dkms

sanity-scrub, replay-single, obdfilter-survey, replay-ost-single, large-scale, insanity, parallel-scale, runtests, replay-dual, sanity-flr, sanity-lsnapshot, mmp, sanity-dom, mds-survey, sanity-lfsck, sanity-lnet, pjdfstest, ost-pools, recovery-small

full-zfs-part-1

sanity-scrub, replay-single, obdfilter-survey, replay-ost-single, large-scale, insanity, parallel-scale, runtests, replay-dual, sanity-flr, sanity-lsnapshot, mmp, sanity-dom, mds-survey, sanity-lfsck, sanity-lnet, pjdfstest, ost-pools, recovery-small

full-zfs-part-2

lnet-selftest, sanity, sanity-hsm, lustre-rsync-test, sanity-sec, replay-vbr, parallel-scale-nfsv3, sanity-quota, sanity-pcc, sanity-lipe-find3, racer

full-zfs-part-3

sanity-pfl, performance-sanity, sanity-benchmark, conf-sanity, sanityn, parallel-scale-nfsv4, hot-pools, sanity-lipe, sanity-lipe-scan3

lnet-review-ldiskfs-dne

lnet-selftest, sanity, sanity-lnet, sanity-sec

...

Test groups are set lists of Lustre test suites managed by Autotest.

performance-sanity, large-scale, parallel-scale, sanity-lnet

Name

Suites

basic

conf-sanity

development

metadata-updates

failover

recovery-mds-scale, recovery-random-scale, recovery-double-scale, recovery-small, replay-ost-single, replay-dual, replay-vbr, mmp, replay-single

full

lnet-selftest, runtests, sanity, sanity-scrub, sanity-benchmark, sanity-lfsck, sanityn, sanity-hsm, sanity-flr, sanity-dom, sanity-lsnapshot, conf-sanity, racer, replay-single, recovery-small, replay-ost-single, replay-dual, replay-vbr, insanity, sanity-quota, sanity-sec, sanity-pfl, lustre-rsync-test, metadata-updates, ost-pools, mds-survey, mmp, performance-sanity, parallel-scale, large-scale, obdfilter-survey, parallel-scale-nfsv3, parallel-scale-nfsv4, posix

full-patchless

lnet-selftest, runtests, sanity, sanity-scrub, sanity-benchmark, sanity-lfsck, sanityn, sanity-hsm, sanity-flr, sanity-dom, sanity-lsnapshot, racer, insanity, sanity-quota, sanity-sec, sanity-pfl, lustre-rsync-test, metadata-updates, ost-pools, mds-survey, mmp, performance-sanity, parallel-scale, large-scale, obdfilter-survey, parallel-scale-nfsv3, parallel-scale-nfsv4, posix

regression-mpi

review

lnet-selftest, runtests, sanity, sanityn, replay-single, conf-sanity, recovery-small, replay-ost-single, insanity, sanity-quota, lustre-rsync-test, ost-pools, sanity-quota, lustre-rsync-test, ost-pools-lfsck, sanity-hsm, sanity-lnet

review-dne-part-1

sanity, sanity-pfl

review-dne-part-2

mds-survey, replay-dual, runtests, sanity-lfsck, sanity-hsmsec

review-dne-part-13sanity, sanityn, recovery-small, lustre-rsync-

testconf-sanity

review-dne-part-24

runtestsinsanity, mmp, replay-ost-poolssingle, sanity-hsmdom, sanity-scrubflr, sanity-lfsckhsm, sanity-sec, mds-survey, large-scale-quota

review-dne-part-5

lustre-rsync-test, recovery-small, sanity-scrub, sanityn

review-dne-part-36

replay-single, ost-poolsconf-sanity

review-dne-part-47

mmplarge-scale, replayhot-singlepools, sanity-pflpcc, sanity-flr, sanity-dom, sanity-quota, replay-ost-single, insanity-lipe

review-dne-part-8

parallel-scale, replay-vbr, replay-dual, racer

review-dne-part-selinux9

obdfilter-survey, performance-sanity, sanity-benchmark, parallel-scale-nfsv4, parallel-scale-nfsv3sanity, recovery-small, sanity-selinux

review-dne-selinux-ssk-part-1

sanitysanity, recovery-small, sanity-selinux, sanity-sec

review-dne-selinux-ssk-part-2

sanity, recovery-small, sanity-sec, sanity-selinux

review-dne-zfs

runtests, sanity, sanityn, replay-single, conf-sanity, recovery-small, replay-ost-single, insanity, sanity-quota, lustre-rsync-test, ost-pools, sanity-lfsck, sanity-hsm

review-dne-zfs-part-1

sanity, sanityn, recovery-small, lustre-rsync-test, sanity-pfl

review-dne-zfs-part-2

mds-survey, replay-dual, runtests, sanity-lfsck, sanity-sec

review-dne-zfs-part-3

conf-sanity

review-dne-zfs-part-24

runtestsinsanity, mmp, replay-ost-poolssingle, sanity-hsmdom, sanity-scrubflr, sanity-lfsckhsm, sanity-sec, mds-survey, large-scale-quota

review-dne-zfs-part-5

lustre-rsync-test, recovery-small, sanity-scrub, sanityn

review-dne-zfs-part-36

replay-single, ost-poolsconf-sanity

review-dne-zfs-part-47

mmplarge-scale, replayhot-singlepools, sanity-pflpcc, sanity-flr, lipe

review-exa6

sanity-dompcc, sanity-quota, replay-ost-single, insanitysec

review-ldiskfs

lnet-selftest, sanity, sanity-lnet

review-ldiskfs-arm

lnet-selftest, sanity, sanity-lnet

review-ldiskfs-armdne

lnet-selftest, sanity, sanity-lnet

review-ldiskfs-dne-arm

lnet-selftest, sanity, sanity-lnet

review-ldiskfs-ubuntu

lnet-selftest, sanity, sanity-lnet

review-zfs

sanity-quota, sanity-flr, sanity-lsnapshot, replay-single, replay-ost-single, insanity

review-zfs-part-1

runtests, sanity, sanityn, sanity-quota, ost-pools, sanity-lfsck, sanity-hsm, sanity-flr

review-zfs-part-2

replay-single, conf-sanity, recovery-small, replay-ost-single, insanity, lustre-rsync-test, large-scale, mds-survey

tiny

sanity, mmp