Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-27671

Clean up task storageEngine definitions in evergreen.yml

      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)

            Assignee:
            backlog-server-tig DO NOT USE - Backlog - Test Infrastructure Group (TIG)
            Reporter:
            robert.guo@mongodb.com Robert Guo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: