stepback: false command_type: system pre: post: - command: shell.exec params: working_dir: work script: | source ./dsienv.sh make_artifact.sh - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: work/dsi-artifacts.tgz remote_file: ${project}/${build_variant}/${revision}/${task_id}/${version_id}/logs/dsi-artifacts-${task_name}-${build_id}-${execution}.${ext|tgz} bucket: mciuploads permissions: public-read content_type: ${content_type|application/x-gzip} display_name: Dsi Artifacts - Execution ${execution} - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: src/workloads/workloads/jsdoc/jsdocs-redirect.html remote_file: ${project}/${build_variant}/${revision}/${task_id}/${version_id}/logs/workloads-${task_name}-${build_id}.html bucket: mciuploads permissions: public-read content_type: text/html display_name: workloads documentation - command: attach.results params: file_location: work/report.json - command: "json.send" params: name: "perf" file: "work/perf.json" - command: shell.exec params: working_dir: work script: | source ./dsienv.sh if [ -e /data/infrastructure_provisioning/terraform/provisioned.${cluster} ]; then mark_idle.sh fi - command: shell.exec params: working_dir: src script: | # removes files from the (local) scons cache when it's over a # threshold, to the $prune_ratio percentage. Ideally override # these default values in the distro config in evergreen. if [ -d "${scons_cache_path}" ]; then ${python|/opt/mongodbtoolchain/v2/bin/python2} buildscripts/scons_cache_prune.py --cache-dir ${scons_cache_path} --cache-size ${scons_cache_size|200} --prune-ratio ${scons_prune_ratio|0.8} fi functions: "prepare environment": - command: shell.exec params: script: | rm -rf ./* mkdir src mkdir work - command: manifest.load - command: git.get_project params: directory: src revisions: # for each module include revision as : ${_rev} dsi: ${dsi_rev} workloads: ${workloads_rev} - command: shell.exec params: working_dir: work script: | cat > bootstrap.yml < runtime.yml < aws_ssh_key.pem chmod 400 aws_ssh_key.pem cat > runtime_secret.yml < mongodb/jstests/hooks/run_validate_collections.js print("NOTE: run_validate_collections.js will skip the oplog!"); TestData = { skipValidationNamespaces: ['local.oplog.rs'] }; load('jstests/hooks/run_validate_collections.actual.js'); EOF fi tar cf mongodb.tar mongodb gzip mongodb.tar - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: src/mongodb.tar.gz remote_file: ${project}/${version_id}/${revision}/${platform}/mongod-${version_id}.tar.gz bucket: mciuploads permissions: public-read content_type: ${content_type|application/x-gzip} display_name: mongodb.tar.gz - name: industry_benchmarks_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "ycsb" - func: "deploy cluster" - func: "run test" - func: "analyze" vars: # Disabling --ycsb-throughput-analysis until BF-7153 fixed # script_flags: --ycsb-throughput-analysis reports - name: industry_benchmarks_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "ycsb" - func: "deploy cluster" - func: "run test" - func: "analyze" vars: script_flags: --ycsb-throughput-analysis reports - name: industry_benchmarks_wmajority_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "ycsb-wmajority" - func: "deploy cluster" - func: "run test" - func: "analyze" vars: script_flags: --ycsb-throughput-analysis reports - name: industry_benchmarks_wmajority_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "ycsb-wmajority" - func: "deploy cluster" - func: "run test" - func: "analyze" vars: script_flags: --ycsb-throughput-analysis reports - name: core_workloads_WT depends_on: - name: compile variant: linux-standalone exec_timeout_secs: 36000 # 10 hours commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "core" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: core_workloads_MMAPv1 depends_on: - name: compile variant: linux-standalone exec_timeout_secs: 36000 # 10 hours commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "core" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: retryable_writes_workloads_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "retryable_writes" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: agg_query_comparison_bestbuy_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "agg_query_comparison_bestbuy" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: agg_query_comparison_bestbuy_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "agg_query_comparison_bestbuy" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: non_sharded_workloads_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "non_sharded" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: non_sharded_workloads_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "non_sharded" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: mongos_workloads_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "mongos" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: mongos_workloads_MMAPv1 depends_on: - name: compile variant: linux-standalone exec_timeout_secs: 32400 # 9 hours commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "mongos" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: move_chunk_workloads_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "move_chunk" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: move_chunk_workloads_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "move_chunk" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: secondary_performance_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" # Unfortunately the dash/underscore style is different for mongodb_setup and test_control test: "secondary_performance" setup: "secondary-performance" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: secondary_performance_MMAPv1 depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" # Unfortunately the dash/underscore style is different for mongodb_setup and test_control test: "secondary_performance" setup: "secondary-performance" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: initialsync_WT depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "initialsync" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: initialsync_MMAPv1 depends_on: - name: compile variant : linux-standalone commands: - func: "prepare environment" vars: storageEngine: "mmapv1" test: "initialsync" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: initialsync-logkeeper_WT depends_on: - name: compile variant: linux-standalone exec_timeout_secs: 216000 # 2.5 days commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "initialsync-logkeeper" - func: "deploy cluster" - func: "run test" - func: "analyze" - name: change_streams depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "change_streams" - func: "deploy cluster" - func: "run test" - name: change_streams_multi_mongos depends_on: - name: compile variant: linux-standalone commands: - func: "prepare environment" vars: storageEngine: "wiredTiger" test: "change_streams_multi_mongos" - func: "deploy cluster" - func: "run test" ####################################### # Modules # ####################################### # if a module is added and to be added to the manifest # be sure to add the module to git.get_project revisions parameter modules: - name: dsi repo: git@github.com:10gen/dsi.git prefix: dsi branch: master - name: workloads repo: git@github.com:10gen/workloads.git prefix: workloads branch: master ####################################### # Linux Buildvariants # ####################################### buildvariants: - name: linux-1-node-replSet display_name: Linux 1-Node ReplSet batchtime: 1440 # 24 hours modules: &modules - dsi - workloads expansions: setup: single-replica cluster: single platform: linux project: &project dsi run_on: - "rhel70-perf-single" tasks: - name: industry_benchmarks_WT - name: core_workloads_WT - name: retryable_writes_workloads_WT - name: industry_benchmarks_MMAPv1 - name: core_workloads_MMAPv1 - name: non_sharded_workloads_WT - name: non_sharded_workloads_MMAPv1 - name: agg_query_comparison_bestbuy_WT - name: agg_query_comparison_bestbuy_MMAPv1 - name: change_streams - name: linux-standalone display_name: Linux Standalone batchtime: 1440 # 24 hours modules: *modules expansions: compile_flags: -j$(grep -c ^processor /proc/cpuinfo) CC=/opt/mongodbtoolchain/v2/bin/gcc CXX=/opt/mongodbtoolchain/v2/bin/g++ OBJCOPY=/opt/mongodbtoolchain/v2/bin/objcopy setup: standalone cluster: single platform: linux use_scons_cache: true gorootvars: GOROOT=/opt/go PATH="/opt/go/bin:$PATH" tooltags: "" project: *project run_on: - "rhel70-perf-single" tasks: - name: compile distros: - rhel70 - name: industry_benchmarks_WT - name: core_workloads_WT - name: industry_benchmarks_MMAPv1 - name: core_workloads_MMAPv1 - name: non_sharded_workloads_WT - name: non_sharded_workloads_MMAPv1 - name: agg_query_comparison_bestbuy_WT - name: agg_query_comparison_bestbuy_MMAPv1 - name: linux-3-shard display_name: Linux 3-Shard Cluster batchtime: 10080 # 7 days modules: *modules expansions: setup: shard cluster: shard platform: linux project: *project run_on: - "rhel70-perf-shard" tasks: - name: industry_benchmarks_WT - name: core_workloads_WT - name: retryable_writes_workloads_WT - name: industry_benchmarks_MMAPv1 - name: industry_benchmarks_wmajority_WT - name: industry_benchmarks_wmajority_MMAPv1 - name: core_workloads_MMAPv1 - name: mongos_workloads_WT - name: mongos_workloads_MMAPv1 - name: move_chunk_workloads_WT - name: move_chunk_workloads_MMAPv1 - name: agg_query_comparison_bestbuy_WT - name: agg_query_comparison_bestbuy_MMAPv1 - name: change_streams - name: change_streams_multi_mongos - name: linux-3-node-replSet display_name: Linux 3-Node ReplSet batchtime: 1440 # 24 hours modules: *modules expansions: setup: replica cluster: replica platform: linux project: *project run_on: - "rhel70-perf-replset" tasks: - name: industry_benchmarks_WT - name: core_workloads_WT - name: retryable_writes_workloads_WT - name: industry_benchmarks_MMAPv1 - name: industry_benchmarks_wmajority_WT - name: industry_benchmarks_wmajority_MMAPv1 - name: core_workloads_MMAPv1 - name: secondary_performance_WT - name: secondary_performance_MMAPv1 - name: non_sharded_workloads_WT - name: non_sharded_workloads_MMAPv1 - name: agg_query_comparison_bestbuy_WT - name: agg_query_comparison_bestbuy_MMAPv1 - name: change_streams - name: linux-3-node-replSet-initialsync display_name: Linux 3-Node ReplSet Initial Sync batchtime: 1440 # 24 hours modules: *modules expansions: setup: replica-2node cluster: replica platform: linux project: *project run_on: - "rhel70-perf-replset" tasks: - name: initialsync_WT - name: initialsync_MMAPv1 - name: linux-replSet-initialsync-logkeeper display_name: Linux ReplSet Initial Sync LogKeeper batchtime: 10080 # 7 days modules: *modules expansions: setup: initialsync-logkeeper cluster: initialsync-logkeeper platform: linux project: *project run_on: - "rhel70-perf-initialsync-logkeeper" tasks: - name: initialsync-logkeeper_WT