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

Clean up task storageEngine definitions in evergreen.yml

    XMLWordPrintableJSON

Details

    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

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: