Details
-
Improvement
-
Resolution: Duplicate
-
Major - P3
-
None
-
3.5.1
Description
Currently, tasks and variants in everygreen.yml both define the storageEngine argument to resmoke.py. The tasks define either mmapv1 or wiredTiger and a variant that uses a different storage engine would override that.
The override is implicitly enabled by having the resmoke arguments defined for a variant ("test_flags") be passed in later than the resmoke arguments for the task ("resmoke_args").
The side-effect of this ordering is subtle and could cause breakages when we we make changes to how resmoke is invoked.
A better way would be to make the storage engine a variable. E.g.
- <<: *task_template
|
name: jsCore
|
commands:
|
- func: "do setup"
|
- func: "run tests"
|
vars:
|
resmoke_args: --suites=core --storageEngine=mmapv1
|
run_multiple_jobs: true
|
becomes:
- <<: *task_template
|
name: jsCore_mmapv1
|
commands:
|
- func: "do setup"
|
- func: "run tests"
|
vars:
|
resmoke_args: --suites=core
|
run_multiple_jobs: true
|
task_storage_engine: 'mmapv1'
|
Variants can similarly define a variant_storage_engine which can then explicitly override the storage engine of the task when constructing resmoke arguments in run_tests (or define task definitions without storage engines)
Attachments
Issue Links
- duplicates
-
SERVER-32036 Remove _WT tasks in evergreen.yml
-
- Closed
-
-
SERVER-31976 Refactor mmapv1 tests into dedicated buildvariants
-
- Closed
-