command_type: system stepback: false variables: ### # Leave this section uncommented to enable compile. _real_compile_amazon2: &_compile_amazon2 - name: compile variant: compile-amazon2 - name: genny_generate_all_tasks variant: compile-amazon2 _real_compile_rhel70: &_compile_rhel70 - name: compile variant: compile-rhel70 - name: genny_generate_all_tasks variant: compile-amazon2 _real_expansions: &_expansion_updates [] ### ### # **Or**: Leave this section uncommented to bypass/skip compile. # _skip_compile_amazon2: &_compile_amazon2 # - name: genny_generate_all_tasks # variant: compile-amazon2 # _skip_compile_rhel70: &_compile_rhel70 # - name: genny_generate_all_tasks # variant: compile-amazon2 # _skip_expansions: &_expansion_updates # # This is the normal (amazon2) "compile" artifact from https://evergreen.mongodb.com/version/sys_perf_4.4_78207ca380688c73b1a217f23d5b7c8803bef9cd # - key: mongodb_binary_archive # value: https://dsi-donot-remove.s3-us-west-2.amazonaws.com/compile_artifacts/mongodb-sys_perf_4.4_78207ca380688c73b1a217f23d5b7c8803bef9cd.tar.gz ## _src_dir: &src_dir src/mongo _modules: &modules - enterprise - mongo-tools - dsi - genny - signal-processing - workloads - linkbench - linkbench2 - mongo-perf - YCSB - benchmarks - py-tpcc modules: ### # Same in every DSI project - name: dsi repo: git@github.com:10gen/dsi.git prefix: ../../src branch: master - name: genny repo: git@github.com:10gen/genny.git prefix: ../../src branch: master - name: signal-processing repo: git@github.com:10gen/signal-processing.git prefix: ../../src branch: master - name: workloads repo: git@github.com:10gen/workloads.git prefix: ../../src branch: master - name: linkbench repo: git@github.com:10gen/linkbench.git prefix: ../../src branch: master - name: linkbench2 repo: git@github.com:10gen/linkbench2.git prefix: ../../src branch: master ref: 63207190657737b32eb0e81c5b81ad1b8bad0e5a - name: mongo-perf repo: git@github.com:mongodb/mongo-perf.git prefix: ../../src branch: master - name: YCSB repo: git@github.com:mongodb-labs/YCSB.git prefix: ../../src branch: master ref: 4e7287880c04514cad2df5761b9511c940a33059 - name: benchmarks repo: git@github.com:mongodb-labs/benchmarks.git prefix: ../../src branch: master - name: py-tpcc repo: git@github.com:mongodb-labs/py-tpcc.git prefix: ../../src branch: master ref: 2d19705337a40e24831a904266a648b85df5be84 ### - name: enterprise repo: git@github.com:10gen/mongo-enterprise-modules.git prefix: src/mongo/db/modules branch: master - name: mongo-tools repo: git@github.com:mongodb/mongo-tools.git prefix: mongo-tools/src/github.com/mongodb branch: master ### # Same in every DSI project pre: - func: "f_other_pre_ops" - func: "f_dsi_pre_run" post: - func: "f_dsi_post_run" - func: "f_other_post_ops" ### functions: ### # Same in every DSI project "f_dsi_pre_run": - command: manifest.load - command: expansions.update params: updates: *_expansion_updates "f_run_dsi_workload": - command: shell.exec params: script: | rm -rf ./* mkdir src - command: manifest.load - command: git.get_project params: directory: *src_dir revisions: &revisions_list dsi: ${dsi_rev} genny: ${genny_rev} signal-processing: ${signal-processing_rev} linkbench: ${linkbench_rev} linkbench2: ${linkbench2_rev} workloads: ${workloads_rev} mongo-perf: ${mongo-perf_rev} YCSB: ${YCSB_rev} benchmarks: ${benchmarks_rev} py-tpcc: ${py-tpcc_rev} - command: expansions.write params: file: ./expansions.yml - command: shell.exec params: continue_on_err: true script: ./src/dsi/run-dsi run_workload - command: shell.exec type: system params: script: ./src/dsi/run-dsi determine_failure -m SYSTEM - command: shell.exec type: setup params: script: ./src/dsi/run-dsi determine_failure -m SETUP - command: shell.exec type: test params: script: ./src/dsi/run-dsi determine_failure -m TEST - command: json.send params: name: "perf" file: "./build/LegacyPerfJson/perf.json" - command: shell.exec type: test params: script: | ./src/dsi/run-dsi analysis # detect outliers needs to run, so defer the post_run_check exit status to later echo $? > post_run_check.status - command: shell.exec params: script: | set -o errexit is_patch=${is_patch} task_id=${task_id} perf_jira_user=${perf_jira_user} perf_jira_pw=${perf_jira_pw} analysis_user=${dsi_analysis_atlas_user} analysis_password=${dsi_analysis_atlas_pw} evergreen_api_key=${evergreen_api_key} evergreen_api_user=${evergreen_api_user} source ./src/dsi/src/signal_processing_setup.sh - command: shell.exec params: script: | set -o verbose source ./signal_processing_venv/bin/activate detect-changes --config .signal-processing.yml --mongo-repo=./src/mongo - command: shell.exec params: script: | set -o verbose source ./signal_processing_venv/bin/activate detect-outliers --config .signal-processing.yml - command: shell.exec type: setup params: script: | set -o verbose filename=rejects.json if [ -s "$filename" ]; then echo "Rejecting task due to the following outliers:" cat "$filename" exit ${detected_outlier_exit_code|0} fi - command: shell.exec type: test params: script: | set -o verbose exit $(cat post_run_check.status) "f_dsi_post_run": - command: shell.exec params: script: ./src/dsi/run-dsi infrastructure_teardown - command: shell.exec params: script: ./src/dsi/run-dsi ./src/dsi/src/dsi/make_artifact.sh - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: dsi-artifacts.tgz remote_file: ${project_dir}/${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/mongo/workloads/workloads/jsdoc/jsdocs-redirect.html remote_file: ${project_dir}/${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: report.json - command: json.send params: name: "perf" file: "./build/LegacyPerfJson/perf.json" - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: pip-requirements.txt remote_file: ${project}/${build_variant}/${revision}/pip-requirements-${task_id}-${execution}.txt bucket: mciuploads permissions: public-read content_type: atext-plain display_name: Pip Requirements ### "f_other_post_ops": - 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 /opt/mongodbtoolchain/v3/bin/python3 buildscripts/scons_cache_prune.py --cache-dir ${scons_cache_path} --cache-size ${scons_cache_size|200} --prune-ratio ${scons_prune_ratio|0.8} fi "f_other_pre_ops": - &f_other_pre_ops command: shell.exec params: silent: true script: | for PS in mongo{,d,s,import,export,dump,restore,stat,files,top,bridge} resmoke.py python{,2} lldb _test; do pkill -9 "$PS" done ### # Compile "compile mongodb": # We create a virtual environment with the Python dependencies for compiling the server # installed. - command: shell.exec params: working_dir: src script: | set -o errexit set -o verbose /opt/mongodbtoolchain/v3/bin/virtualenv --python /opt/mongodbtoolchain/v3/bin/python3 "${workdir}/compile_venv" /opt/mongodbtoolchain/v3/bin/virtualenv --python /opt/mongodbtoolchain/v3/bin/python2 "${workdir}/venv" source "${workdir}/compile_venv/bin/activate" python -m pip install -r etc/pip/compile-requirements.txt - command: shell.exec params: working_dir: src script: | set -o errexit set -o verbose mkdir -p mongodb/bin # We get the raw version string (r1.2.3-45-gabcdef) from git MONGO_VERSION=$(git describe --abbrev=7) # If this is a patch build, we add the patch version id to the version string so we know # this build was a patch, and which evergreen task it came from if [ "${is_patch|false}" = "true" ]; then MONGO_VERSION="$MONGO_VERSION-patch-${version_id}" fi # This script converts the generated version string into a sanitized version string for # use by scons and uploading artifacts as well as information about for the scons cache. source "${workdir}/compile_venv/bin/activate" MONGO_VERSION=$MONGO_VERSION USE_SCONS_CACHE=${use_scons_cache|false} python buildscripts/generate_compile_expansions.py --out compile_expansions.yml - command: expansions.update params: file: src/compile_expansions.yml - command: shell.exec params: working_dir: src/mongo-tools/src/github.com/mongodb/mongo-tools script: | set -o verbose set -o errexit # make sure newlines in the scripts are handled correctly by windows if [ "Windows_NT" = "$OS" ]; then set -o igncr fi; # set_goenv provides set_goenv(), print_ldflags() and print_tags() used below . ./set_goenv.sh GOROOT="" set_goenv || exit go version build_tools="bsondump mongostat mongofiles mongoexport mongoimport mongorestore mongodump mongotop" if [ "${build_mongoreplay}" = "true" ]; then build_tools="$build_tools mongoreplay" fi for i in $build_tools; do go build -ldflags "$(print_ldflags)" ${args} -tags "$(print_tags ${tooltags})" -o "../../../../../mongodb/bin/$i${exe|}" $i/main/$i.go "../../../../../mongodb/bin/$i${exe|}" --version done - command: shell.exec params: working_dir: src script: | set -o errexit set -o verbose source "${workdir}/compile_venv/bin/activate" python ./buildscripts/scons.py ${compile_flags|} ${scons_cache_args|} install-core MONGO_VERSION=${version} DESTDIR=$(pwd)/mongodb mkdir -p mongodb/jstests/hooks if [ -d jstests/hooks ] then echo "Fetching JS test DB correctness checks from directory jstests" cp -a jstests/* mongodb/jstests echo "Now adding our own special run_validate_collections.js wrapper" mv mongodb/jstests/hooks/run_validate_collections.js mongodb/jstests/hooks/run_validate_collections.actual.js cat << EOF > 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 czf mongodb${compile-variant|}.tar.gz mongodb - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: src/mongodb${compile-variant|}.tar.gz remote_file: ${project_dir}/${version_id}/${revision}/${platform}/mongodb${compile-variant|}-${version_id}.tar.gz bucket: mciuploads permissions: public-read content_type: ${content_type|application/x-gzip} display_name: mongodb${compile-variant|}.tar.gz ### tasks: ### # Same in every DSI project - name: genny_generate_all_tasks commands: - command: git.get_project params: directory: *src_dir revisions: *revisions_list - command: expansions.write params: file: ./expansions.yml - command: shell.exec params: script: ./src/genny/scripts/genny_auto_tasks.sh all_tasks - command: generate.tasks params: files: - build/TaskJSON/Tasks.json - name: genny_auto_tasks commands: - command: git.get_project params: directory: *src_dir revisions: *revisions_list - command: expansions.write params: file: ./expansions.yml - command: shell.exec params: script: ./src/genny/scripts/genny_auto_tasks.sh variant_tasks - command: generate.tasks params: files: - build/TaskJSON/Tasks.json - name: genny_patch_tasks commands: - command: git.get_project params: directory: *src_dir revisions: *revisions_list - command: expansions.write params: file: ./expansions.yml - command: shell.exec params: script: ./src/genny/scripts/genny_auto_tasks.sh patch_tasks - command: generate.tasks params: files: - build/TaskJSON/Tasks.json - name: smoke_test priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "short" - name: smoke_test_ssl priority: 5 commands: - func: f_run_dsi_workload vars: test_control: short mongodb_setup: replica-ssl infrastructure_provisioning: replica - name: dsi_integ_test_run_command_simple priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "run_command_simple" ### - name: compile commands: - command: manifest.load - command: git.get_project params: directory: src revisions: enterprise: ${enterprise_rev} mongo-tools: ${mongo-tools_rev} - func: "compile mongodb" - name: renew_ssl_cert commands: - command: git.get_project params: directory: *src_dir revisions: dsi: ${dsi_rev} # Use AWS user that has route53 permissions required by certbot plugin - command: shell.exec params: script: | sudo -i mkdir /root/.aws cat > /root/.aws/credentials << EOF [default] aws_access_key_id = ${terraform_key} aws_secret_access_key = ${terraform_secret} EOF exit # Run the script to generate ssl cert files - command: shell.exec params: script: ./src/dsi/run-dsi ./src/dsi/configurations/mongodb_setup/ssl/generate-ssl-cert.sh # Upload files for further DSI usage - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: member.pem # path to the remote file is intended to be static remote_file: dsi/ssl/member.pem bucket: mciuploads # the visibility has to be public for consumption by DSI permissions: public-read content_type: text/plain display_name: member.pem - command: s3.put params: aws_key: ${aws_key} aws_secret: ${aws_secret} local_file: root.crt # path to the remote file is intended to be static remote_file: dsi/ssl/root.crt bucket: mciuploads # the visibility has to be public for consumption by DSI permissions: public-read content_type: text/plain display_name: root.crt - name: linkbench priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "linkbench" - name: linkbench_stepdowns priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "linkbench_stepdowns" - name: linkbench_rolling_restarts priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "linkbench_rolling_restarts" - name: linkbench_non_retryable_writes_stepdowns priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "linkbench_non_retryable_writes_stepdowns" - name: linkbench_non_retryable_writes_rolling_restarts priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "linkbench_non_retryable_writes_rolling_restarts" - name: linkbench2 priority: 5 exec_timeout_secs: 43200 # 12 hours commands: - func: f_run_dsi_workload vars: test_control: "linkbench2" additional_tfvars: "tags: {expire-on-delta: 12}" - name: tpcc priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "tpcc" - name: industry_benchmarks priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb" - name: ycsb_60GB priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb-60GB" - name: industry_benchmarks_secondary_reads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb-secondary-reads" - name: industry_benchmarks_wmajority priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb-wmajority" - name: industry_benchmarks_stepdowns priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb_stepdowns" - name: industry_benchmarks_rolling_restarts priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb_rolling_restarts" - name: industry_benchmarks_non_retryable_writes_stepdowns priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb_non_retryable_writes_stepdowns" - name: industry_benchmarks_non_retryable_writes_rolling_restarts priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "ycsb_non_retryable_writes_rolling_restarts" - name: crud_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "crud_workloads" - name: crud_workloads_majority priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "crud_workloads_majority" - name: cursor_manager priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "cursor_manager" - name: mixed_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "mixed_workloads" - name: mixed_workloads_genny_stepdowns priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "mixed_workloads_genny_stepdowns" - name: mixed_workloads_genny_rolling_restarts priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "mixed_workloads_genny_rolling_restarts" - name: misc_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "misc_workloads" - name: map_reduce_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "map_reduce_workloads" - name: genny_canaries priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "genny_canaries" - name: retryable_writes_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "retryable_writes" - name: snapshot_reads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "snapshot_reads" - name: secondary_reads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "secondary_reads" - name: bestbuy_agg priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_agg" - name: bestbuy_agg_merge_same_db priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_agg_merge_same_db" - name: bestbuy_agg_merge_different_db priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_agg_merge_different_db" - name: bestbuy_agg_merge_target_hashed priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_agg_merge_target_hashed" - name: bestbuy_agg_merge_wordcount priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_agg_merge_wordcount" - name: bestbuy_query priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "bestbuy_query" - name: non_sharded_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "non_sharded" - name: mongos_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "mongos" - name: mongos_large_catalog_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "mongos_large_catalog" - name: move_chunk_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "move_chunk" - name: move_chunk_waiting_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "move_chunk_waiting" - name: move_chunk_large_chunk_map_workloads priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "move_chunk_large_chunk_map" - name: refine_shard_key_transaction_stress priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "refine_shard_key_transaction_stress" - name: secondary_performance priority: 5 commands: - func: f_run_dsi_workload vars: # Unfortunately the dash/underscore style is different for mongodb_setup and test_control test_control: "secondary_performance" mongodb_setup: "secondary-performance" - name: initialsync priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "initialsync" - name: initialsync-logkeeper-short priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "initialsync-logkeeper" mongodb_setup: "initialsync-logkeeper-short" # Logkeeper dataset with FCV set to 4.4 mongodb_dataset: "https://s3-us-west-2.amazonaws.com/dsi-donot-remove/InitialSyncLogKeeper/logkeeper-slice-data-mongodb-4.4.tgz" - name: initialsync-logkeeper priority: 5 exec_timeout_secs: 216000 # 2.5 days commands: - func: f_run_dsi_workload vars: test_control: "initialsync-logkeeper" # The following two initial sync logkeeper automation tasks are only used in the commented-out # "Linux ReplSet Initial Sync LogKeeper Snapshot Update" variant below and are only intended to be # run in patch builds to update FCV for logkeeper datasets. - name: initialsync-logkeeper-short-s3-update priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "initialsync-logkeeper-short-s3-update" mongodb_setup: "initialsync-logkeeper-short-s3-update" # Update this to Logkeeper dataset with FCV set to latest after each LTS release. mongodb_dataset: "https://s3-us-west-2.amazonaws.com/dsi-donot-remove/InitialSyncLogKeeper/logkeeper-slice-data-mongodb-4.4.tgz" - name: initialsync-logkeeper-snapshot-update priority: 5 exec_timeout_secs: 216000 # 2.5 days commands: - func: f_run_dsi_workload vars: test_control: "initialsync-logkeeper-snapshot-update" - name: initialsync-large priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "initialsync-large" - name: change_streams_throughput priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "change_streams_throughput" - name: change_streams_latency priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "change_streams_latency" - name: change_streams_multi_mongos priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "change_streams_multi_mongos" - name: sb_large_scale priority: 5 exec_timeout_secs: 43200 # 12 hours commands: - func: f_run_dsi_workload vars: test_control: "sb_large_scale" additional_tfvars: "tags: {expire-on-delta: 12}" - name: sb_timeseries priority: 5 commands: - func: f_run_dsi_workload vars: test_control: "sb_timeseries" buildvariants: - &compile-amazon2 name: compile-amazon2 display_name: Compile modules: *modules batchtime: 2880 # 48 hours expansions: &compile-expansions platform: linux project_dir: &project_dir dsi tooltags: "" use_scons_cache: true compile_flags: >- --ssl --separate-debug MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars install-mongocryptd run_on: - "amazon2-build" tasks: - name: compile - name: genny_generate_all_tasks - name: linux-standalone display_name: Linux Standalone batchtime: 2880 # 48 hours modules: *modules expansions: mongodb_setup: standalone infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: &standalonetasks - name: genny_patch_tasks - name: genny_auto_tasks - name: dsi_integ_test_run_command_simple - name: smoke_test - name: industry_benchmarks - name: ycsb_60GB - name: crud_workloads - name: genny_canaries - name: cursor_manager - name: mixed_workloads - name: misc_workloads - name: map_reduce_workloads - name: non_sharded_workloads - name: bestbuy_agg - name: bestbuy_agg_merge_different_db - name: bestbuy_agg_merge_same_db - name: bestbuy_agg_merge_wordcount - name: bestbuy_query - name: compile-rhel70 display_name: Compile for Atlas-like modules: *modules batchtime: 2880 # 48 hours expansions: <<: *compile-expansions compile_flags: >- --ssl --separate-debug MONGO_DISTMOD=rhel70 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars compile-variant: -rhel70 run_on: - rhel70-large tasks: - name: compile - name: linux-1-node-replSet display_name: Linux 1-Node ReplSet batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: single-replica infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: &1nodetasks - name: industry_benchmarks - name: ycsb_60GB - name: crud_workloads - name: mixed_workloads - name: misc_workloads - name: map_reduce_workloads - name: smoke_test - name: retryable_writes_workloads - name: non_sharded_workloads - name: bestbuy_agg - name: bestbuy_agg_merge_different_db - name: bestbuy_agg_merge_same_db - name: bestbuy_agg_merge_wordcount - name: bestbuy_query - name: change_streams_throughput - name: change_streams_latency - name: snapshot_reads - name: linkbench - name: linkbench2 - name: tpcc - name: genny_patch_tasks - name: genny_auto_tasks - name: industry_benchmarks_wmajority - name: sb_large_scale - name: sb_timeseries - name: linux-standalone-audit display_name: Linux Standalone Audit batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: standalone-audit infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: crud_workloads - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-1-node-replSet-fle display_name: Linux 1-Node ReplSet FLE batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: single-replica-fle infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled fle: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: linkbench - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-1-node-replSet-cwrwc display_name: Linux 1-Node ReplSet CWRWC batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: single-replica-cwrwc infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: linkbench - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-1-node-replSet-ese-cbc display_name: Linux 1-Node ReplSet ESE CBC batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: single-replica-ese-cbc infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: ycsb_60GB - name: linux-1-node-replSet-ese-gcm display_name: Linux 1-Node ReplSet ESE GCM batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: single-replica-ese-gcm infrastructure_provisioning: single platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: ycsb_60GB - name: linux-1-node-15gbwtcache display_name: Linux 1-Node ReplSet 15 GB WiredTiger Cache batchtime: 2880 # 48 hours modules: *modules expansions: mongodb_setup: single-replica-15gbwtcache infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-single" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-3-node-1dayhistory-15gbwtcache display_name: Linux 3-Node ReplSet 1 Day History 15 GB WiredTiger Cache batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: replica-1dayhistory-15gbwtcache infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: crud_workloads - name: crud_workloads_majority - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-3-shard display_name: Linux 3-Shard Cluster batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: shard infrastructure_provisioning: shard platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-shard" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: crud_workloads - name: mixed_workloads - name: misc_workloads - name: map_reduce_workloads - name: smoke_test - name: industry_benchmarks_wmajority - name: mongos_workloads - name: mongos_large_catalog_workloads - name: change_streams_throughput - name: change_streams_latency - name: change_streams_multi_mongos - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-shard-lite-audit display_name: Linux Shard Lite Cluster Audit batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: shard-lite-audit infrastructure_provisioning: shard-lite platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-shard-lite" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: linux-shard-lite display_name: Linux Shard Lite Cluster batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: shard-lite infrastructure_provisioning: shard-lite platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-shard-lite" depends_on: *_compile_amazon2 tasks: &shardlitetasks - name: bestbuy_agg - name: bestbuy_agg_merge_different_db - name: bestbuy_agg_merge_same_db - name: bestbuy_agg_merge_target_hashed - name: bestbuy_agg_merge_wordcount - name: bestbuy_query - name: change_streams_latency - name: change_streams_throughput - name: industry_benchmarks - name: industry_benchmarks_wmajority - name: linkbench - name: mixed_workloads - name: mongos_workloads - name: mongos_large_catalog_workloads - name: move_chunk_large_chunk_map_workloads - name: move_chunk_workloads - name: move_chunk_waiting_workloads - name: retryable_writes_workloads - name: smoke_test - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-shard-lite-cwrwc display_name: Linux Shard Lite Cluster CWRWC batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: shard-lite-cwrwc infrastructure_provisioning: shard-lite platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-shard-lite" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: linkbench - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-3-node-replSet display_name: Linux 3-Node ReplSet batchtime: 2880 # 48 hours modules: *modules expansions: mongodb_setup: replica infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: &3nodetasks - name: industry_benchmarks - name: ycsb_60GB - name: industry_benchmarks_secondary_reads - name: crud_workloads - name: crud_workloads_majority - name: mixed_workloads - name: misc_workloads - name: map_reduce_workloads # Disable the workload until TIG-2695 is done # - name: refine_shard_key_transaction_stress - name: smoke_test - name: retryable_writes_workloads - name: industry_benchmarks_wmajority - name: secondary_performance # Uses a special 2 node mongodb setup - name: non_sharded_workloads - name: bestbuy_agg - name: bestbuy_agg_merge_different_db - name: bestbuy_agg_merge_same_db - name: bestbuy_agg_merge_wordcount - name: bestbuy_query - name: change_streams_throughput - name: change_streams_latency - name: snapshot_reads - name: secondary_reads - name: tpcc - name: linkbench - name: linkbench2 - name: genny_patch_tasks - name: genny_auto_tasks - name: sb_large_scale - name: sb_timeseries - name: linux-3-node-replSet-last-continuous-fcv display_name: Linux 3-Node ReplSet (Last Continuous FCV) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-last-continuous-fcv infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: - name: compile variant: compile-amazon2 - name: genny_generate_all_tasks variant: compile-amazon2 tasks: *3nodetasks - name: linux-3-node-replSet-last-lts-fcv display_name: Linux 3-Node ReplSet (Last LTS FCV) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-last-lts-fcv infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: - name: compile variant: compile-amazon2 - name: genny_generate_all_tasks variant: compile-amazon2 tasks: *3nodetasks - name: linux-3-node-replSet-disabled-feature-flags display_name: Linux 3-Node ReplSet (disabled feature flags) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-disabled-feature-flags infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: - name: compile variant: compile-amazon2 - name: genny_generate_all_tasks variant: compile-amazon2 tasks: *3nodetasks - name: linux-3-node-replSet-noflowcontrol display_name: Linux 3-Node ReplSet (Flow Control off) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-noflowcontrol infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: industry_benchmarks_secondary_reads - name: crud_workloads - name: crud_workloads_majority - name: mixed_workloads - name: smoke_test - name: industry_benchmarks_wmajority - name: change_streams_throughput - name: change_streams_latency - name: tpcc - name: linkbench - name: linkbench2 - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-3-node-replSet-ssl display_name: Linux 3-Node ReplSet (SSL) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-ssl infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: mixed_workloads - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-3-node-replSet-maintenance-events display_name: Linux 3-Node ReplSet (Maintenance Events) batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: replica-maintenance-events infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks_stepdowns - name: industry_benchmarks_rolling_restarts - name: industry_benchmarks_non_retryable_writes_stepdowns - name: industry_benchmarks_non_retryable_writes_rolling_restarts - name: linkbench_stepdowns - name: linkbench_rolling_restarts - name: linkbench_non_retryable_writes_stepdowns - name: linkbench_non_retryable_writes_rolling_restarts - name: mixed_workloads_genny_stepdowns - name: mixed_workloads_genny_rolling_restarts - name: linux-3-node-replSet-initialsync display_name: Linux 3-Node ReplSet Initial Sync batchtime: 2880 # 48 hours modules: *modules expansions: mongodb_setup: replica-2node infrastructure_provisioning: replica platform: linux authentication: disabled storageEngine: wiredTiger project_dir: *project_dir depends_on: *_compile_amazon2 run_on: - "rhel70-perf-replset" tasks: - name: initialsync - name: initialsync-logkeeper-short - name: initialsync-large - name: genny_patch_tasks - name: genny_auto_tasks - name: linux-replSet-initialsync-logkeeper display_name: Linux ReplSet Initial Sync LogKeeper batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: initialsync-logkeeper infrastructure_provisioning: initialsync-logkeeper # EBS logkeeper snapshot with FCV set to 4.4 snapshotId: snap-0b0b8b2ad16e8f14e platform: linux authentication: disabled storageEngine: wiredTiger project_dir: *project_dir run_on: - "rhel70-perf-initialsync-logkeeper" depends_on: *_compile_amazon2 tasks: - name: initialsync-logkeeper - name: genny_patch_tasks - name: genny_auto_tasks # Uncomment this to run logkeeper FCV updates automatically. This is only intended to be run in # patch builds. #- name: linux-replSet-initialsync-logkeeper-snapshot-update # display_name: Linux ReplSet Initial Sync LogKeeper Snapshot Update # batchtime: 10080 # 7 days # modules: *modules # expansions: # mongodb_setup: initialsync-logkeeper # infrastructure_provisioning: initialsync-logkeeper-snapshot-update # # Update this to latest snapshot after each LTS release. # snapshotId: snap-0b0b8b2ad16e8f14e # platform: linux # authentication: disabled # storageEngine: wiredTiger # project_dir: *project_dir # run_on: # - "rhel70-perf-initialsync-logkeeper" # depends_on: *_compile_amazon2 # tasks: # - name: initialsync-logkeeper-snapshot-update # - name: initialsync-logkeeper-short-s3-update - name: linux-replSet-audit display_name: Linux 3-Node ReplSet Audit batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-audit infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: industry_benchmarks - name: linux-replSet-auth-delay display_name: Linux 3-Node ReplSet (Auth Delay) batchtime: 10080 # 7 days modules: *modules expansions: mongodb_setup: replica-auth-cluster-delay infrastructure_provisioning: replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger run_on: - "rhel70-perf-replset" depends_on: *_compile_amazon2 tasks: - name: genny_auto_tasks - name: atlas-like-M60 display_name: M60-Like 3-Node ReplSet batchtime: 5760 # 4 days modules: *modules expansions: mongodb_setup: atlas-like-replica infrastructure_provisioning: M60-like-replica platform: linux project_dir: *project_dir authentication: enabled storageEngine: wiredTiger compile-variant: -rhel70 run_on: - "rhel70-perf-M60-like" depends_on: *_compile_rhel70 tasks: # Cannot use *3nodetasks because secondary_performance uses a special mongodb setup. - name: industry_benchmarks - name: ycsb_60GB - name: industry_benchmarks_secondary_reads - name: crud_workloads - name: crud_workloads_majority - name: mixed_workloads - name: misc_workloads - name: map_reduce_workloads - name: smoke_test - name: retryable_writes_workloads - name: industry_benchmarks_wmajority - name: non_sharded_workloads - name: bestbuy_agg - name: bestbuy_agg_merge_different_db - name: bestbuy_agg_merge_same_db - name: bestbuy_agg_merge_wordcount - name: bestbuy_query - name: change_streams_throughput - name: change_streams_latency - name: snapshot_reads - name: secondary_reads - name: linkbench - name: genny_patch_tasks - name: genny_auto_tasks - name: renew-ssl-cert display_name: Renew SSL Cert batchtime: 10080 # 7 days modules: *modules run_on: # Certbot with route53 plugin is installed on RHEL80 - "rhel80-small" tasks: - name: renew_ssl_cert