@@ -112,11 +112,6 @@ functions:
112112 export OCSP_CONNECTIVITY="${OCSP_CONNECTIVITY}"
113113 export OCSP_VERIFIER="${OCSP_VERIFIER}"
114114
115- export ATLAS_REPLICA_SET_URI="${atlas_replica_set_uri}"
116- export ATLAS_SHARDED_URI="${atlas_sharded_uri}"
117- export ATLAS_FREE_TIER_URI="${atlas_free_tier_uri}"
118- export ATLAS_TLS11_URI="${atlas_tls11_uri}"
119- export ATLAS_TLS12_URI="${atlas_tls12_uri}"
120115 export RVM_RUBY="${RVM_RUBY}"
121116 EOT
122117
@@ -129,36 +124,111 @@ functions:
129124 params:
130125 file: src/expansion.yml
131126
132- "export AWS auth credentials" :
127+ bootstrap-mongo-orchestration :
133128 - command: shell.exec
134- type: test
135129 params:
136- silent: true
137- working_dir: "src"
130+ shell: "bash"
138131 script: |
139- cat < < EOT > .env.private
140- IAM_AUTH_ASSUME_AWS_ACCOUNT="${iam_auth_assume_aws_account}"
141- IAM_AUTH_ASSUME_AWS_SECRET_ACCESS_KEY="${iam_auth_assume_aws_secret_access_key}"
142- IAM_AUTH_ASSUME_ROLE_NAME="${iam_auth_assume_role_name}"
143- IAM_AUTH_EC2_INSTANCE_ACCOUNT="${iam_auth_ec2_instance_account}"
144- IAM_AUTH_EC2_INSTANCE_PROFILE="${iam_auth_ec2_instance_profile}"
145- IAM_AUTH_EC2_INSTANCE_SECRET_ACCESS_KEY="${iam_auth_ec2_instance_secret_access_key}"
146- IAM_AUTH_ECS_ACCOUNT="${iam_auth_ecs_account}"
147- IAM_AUTH_ECS_ACCOUNT_ARN="${iam_auth_ecs_account_arn}"
148- IAM_AUTH_ECS_CLUSTER="${iam_auth_ecs_cluster}"
149- IAM_AUTH_ECS_SECRET_ACCESS_KEY="${iam_auth_ecs_secret_access_key}"
150- IAM_AUTH_ECS_SECURITY_GROUP="${iam_auth_ecs_security_group}"
151- IAM_AUTH_ECS_SUBNET_A="${iam_auth_ecs_subnet_a}"
152- IAM_AUTH_ECS_SUBNET_B="${iam_auth_ecs_subnet_b}"
153- IAM_AUTH_ECS_TASK_DEFINITION="${iam_auth_ecs_task_definition_ubuntu2004}"
154-
155- IAM_WEB_IDENTITY_ISSUER="${iam_web_identity_issuer}"
156- IAM_WEB_IDENTITY_JWKS_URI="${iam_web_identity_jwks_uri}"
157- IAM_WEB_IDENTITY_RSA_KEY="${iam_web_identity_rsa_key}"
158- IAM_WEB_IDENTITY_TOKEN_FILE="${iam_web_identity_token_file}"
159- IAM_AUTH_ASSUME_WEB_ROLE_NAME="${iam_auth_assume_web_role_name}"
132+ set -x
133+ ${PREPARE_SHELL}
160134
161- EOT
135+ MONGODB_VERSION=${VERSION} \
136+ TOPOLOGY=${TOPOLOGY} \
137+ AUTH=${AUTH} \
138+ SSL=${SSL} \
139+ ORCHESTRATION_FILE=${ORCHESTRATION_FILE} \
140+ REQUIRE_API_VERSION=${REQUIRE_API_VERSION} \
141+ LOAD_BALANCER=${LOAD_BALANCER} \
142+ sh ${DRIVERS_TOOLS}/.evergreen/run-orchestration.sh
143+ - command: expansions.update
144+ params:
145+ file: mo-expansion.yml
146+
147+ run-valid-ocsp-server:
148+ - command: shell.exec
149+ params:
150+ shell: "bash"
151+ background: true
152+ script: |
153+ cd ${DRIVERS_TOOLS}/.evergreen/ocsp
154+ . ./activate-ocspvenv.sh
155+
156+ python ocsp_mock.py \
157+ --ca_file ${OCSP_ALGORITHM}/ca.pem \
158+ --ocsp_responder_cert ${OCSP_ALGORITHM}/ca.crt \
159+ --ocsp_responder_key ${OCSP_ALGORITHM}/ca.key \
160+ -p 8100 -v
161+
162+ run-revoked-ocsp-server:
163+ - command: shell.exec
164+ params:
165+ shell: "bash"
166+ background: true
167+ script: |
168+ cd ${DRIVERS_TOOLS}/.evergreen/ocsp
169+ . ./activate-ocspvenv.sh
170+
171+ python ocsp_mock.py \
172+ --ca_file ${OCSP_ALGORITHM}/ca.pem \
173+ --ocsp_responder_cert ${OCSP_ALGORITHM}/ca.crt \
174+ --ocsp_responder_key ${OCSP_ALGORITHM}/ca.key \
175+ -p 8100 \
176+ -v \
177+ --fault revoked
178+
179+ run-valid-delegate-ocsp-server:
180+ - command: shell.exec
181+ params:
182+ shell: "bash"
183+ background: true
184+ script: |
185+ cd ${DRIVERS_TOOLS}/.evergreen/ocsp
186+ . ./activate-ocspvenv.sh
187+
188+ python ocsp_mock.py \
189+ --ca_file ${OCSP_ALGORITHM}/ca.pem \
190+ --ocsp_responder_cert ${OCSP_ALGORITHM}/ocsp-responder.crt \
191+ --ocsp_responder_key ${OCSP_ALGORITHM}/ocsp-responder.key \
192+ -p 8100 -v
193+
194+ run-revoked-delegate-ocsp-server:
195+ - command: shell.exec
196+ params:
197+ shell: "bash"
198+ background: true
199+ script: |
200+ cd ${DRIVERS_TOOLS}/.evergreen/ocsp
201+ . ./activate-ocspvenv.sh
202+
203+ python ocsp_mock.py \
204+ --ca_file ${OCSP_ALGORITHM}/ca.pem \
205+ --ocsp_responder_cert ${OCSP_ALGORITHM}/ocsp-responder.crt \
206+ --ocsp_responder_key ${OCSP_ALGORITHM}/ocsp-responder.key \
207+ -p 8100 \
208+ -v \
209+ --fault revoked
210+
211+ run-load-balancer:
212+ - command: shell.exec
213+ params:
214+ shell: "bash"
215+ script: |
216+ DRIVERS_TOOLS=${DRIVERS_TOOLS} MONGODB_URI=${MONGODB_URI} bash ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh start
217+ - command: expansions.update
218+ params:
219+ file: lb-expansion.yml
220+
221+ "export AWS auth credentials":
222+ - command: ec2.assume_role
223+ params:
224+ role_arn: ${aws_test_secrets_role}
225+ - command: subprocess.exec
226+ type: test
227+ params:
228+ include_expansions_in_env: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN"]
229+ binary: "bash"
230+ args:
231+ - ${DRIVERS_TOOLS}/.evergreen/auth_aws/setup-secrets.sh
162232
163233 "run CSOT tests":
164234 - command: shell.exec
@@ -168,46 +238,10 @@ functions:
168238 working_dir: "src"
169239 script: |
170240 ${PREPARE_SHELL}
171- # Needed for generating temporary aws credentials.
172- if [ -n "${FLE}" ];
173- then
174- export AWS_ACCESS_KEY_ID="${fle_aws_key}"
175- export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
176- export AWS_DEFAULT_REGION="${fle_aws_region}"
177- fi
178241 export CSOT_SPEC_TESTS=1
179242 TEST_CMD="bundle exec rspec spec/spec_tests/client_side_operations_timeout_spec.rb" \
180243 .evergreen/run-tests.sh
181244
182- "export FLE credentials":
183- - command: shell.exec
184- type: test
185- params:
186- silent: true
187- working_dir: "src"
188- script: |
189- cat < < EOT > .env.private
190- MONGO_RUBY_DRIVER_AWS_KEY="${fle_aws_key}"
191- MONGO_RUBY_DRIVER_AWS_SECRET="${fle_aws_secret}"
192- MONGO_RUBY_DRIVER_AWS_REGION="${fle_aws_region}"
193- MONGO_RUBY_DRIVER_AWS_ARN="${fle_aws_arn}"
194-
195- MONGO_RUBY_DRIVER_AZURE_TENANT_ID="${fle_azure_tenant_id}"
196- MONGO_RUBY_DRIVER_AZURE_CLIENT_ID="${fle_azure_client_id}"
197- MONGO_RUBY_DRIVER_AZURE_CLIENT_SECRET="${fle_azure_client_secret}"
198- MONGO_RUBY_DRIVER_AZURE_IDENTITY_PLATFORM_ENDPOINT="${fle_azure_identity_platform_endpoint}"
199- MONGO_RUBY_DRIVER_AZURE_KEY_VAULT_ENDPOINT="${fle_azure_key_vault_endpoint}"
200- MONGO_RUBY_DRIVER_AZURE_KEY_NAME="${fle_azure_key_name}"
201-
202- MONGO_RUBY_DRIVER_GCP_EMAIL="${fle_gcp_email}"
203- MONGO_RUBY_DRIVER_GCP_PRIVATE_KEY="${fle_gcp_private_key}"
204- MONGO_RUBY_DRIVER_GCP_PROJECT_ID="${fle_gcp_project_id}"
205- MONGO_RUBY_DRIVER_GCP_LOCATION="${fle_gcp_location}"
206- MONGO_RUBY_DRIVER_GCP_KEY_RING="${fle_gcp_key_ring}"
207- MONGO_RUBY_DRIVER_GCP_KEY_NAME="${fle_gcp_key_name}"
208- MONGO_RUBY_DRIVER_MONGOCRYPTD_PORT="${fle_mongocryptd_port}"
209- EOT
210-
211245 "export Kerberos credentials":
212246 - command: shell.exec
213247 type: test
@@ -338,7 +372,7 @@ functions:
338372 "upload test results":
339373 - command: attach.xunit_results
340374 params:
341- file: ./src/rspec .xml
375+ file: ./src/tmp/* .xml
342376
343377 "delete private environment":
344378 - command: shell.exec
@@ -370,13 +404,6 @@ functions:
370404 working_dir: "src"
371405 script: |
372406 ${PREPARE_SHELL}
373- # Needed for generating temporary aws credentials.
374- if [ -n "${FLE}" ];
375- then
376- export AWS_ACCESS_KEY_ID="${fle_aws_key}"
377- export AWS_SECRET_ACCESS_KEY="${fle_aws_secret}"
378- export AWS_DEFAULT_REGION="${fle_aws_region}"
379- fi
380407 .evergreen/run-tests.sh
381408
382409 "run AWS auth tests":
@@ -408,26 +435,18 @@ functions:
408435 script: |
409436 ${PREPARE_SHELL}
410437 AUTH=${AUTH} SSL=${SSL} TOPOLOGY=${TOPOLOGY} RVM_RUBY="${RVM_RUBY}" \
411- ATLAS_REPLICA_SET_URI=${atlas_replica_set_uri} ATLAS_SHARDED_URI=${atlas_sharded_uri} \
412- ATLAS_FREE_TIER_URI=${atlas_free_tier_uri} ATLAS_TLS11_URI=${atlas_tls11_uri} \
413- ATLAS_TLS12_URI=${atlas_tls12_uri} ATLAS_SERVERLESS_URI=${atlas_serverless_uri} \
414- ATLAS_SERVERLESS_LB_URI=${atlas_serverless_lb_uri} \
415- ATLAS_X509_CERT_BASE64="${atlas_x509_cert_base64}" \
416- ATLAS_X509_URI="${atlas_x509}" \
417- ATLAS_X509_DEV_CERT_BASE64="${atlas_x509_dev_cert_base64}" \
418- ATLAS_X509_DEV_URI="${atlas_x509_dev}" \
419438 .evergreen/run-tests-atlas.sh
420439
421440pre:
422441 - func: "fetch source"
423442 - func: "create expansions"
424443
425444post:
445+ - func: "upload test results"
426446 - func: "delete private environment"
427447 # Removed, causing timeouts
428448 # - func: "upload working dir"
429449 - func: "upload mo artifacts"
430- # - func: "upload test results"
431450 - func: "upload test results to s3"
432451
433452task_groups:
@@ -616,24 +635,29 @@ tasks:
616635 - name: "test-atlas"
617636 commands:
618637 - func: "run Atlas tests"
619- - name: "test-mlaunch "
638+ - name: "test-main "
620639 commands:
640+ - func: bootstrap-mongo-orchestration
621641 - func: "run tests"
622642 - name: "driver-bench"
623643 commands:
644+ - func: bootstrap-mongo-orchestration
624645 - func: "run benchmarks"
625646 - name: "test-kerberos"
626647 commands:
648+ - func: bootstrap-mongo-orchestration
627649 - func: "run Kerberos unit tests"
628650 - name: "test-csot"
629651 commands:
652+ - func: bootstrap-mongo-orchestration
630653 - func: "run CSOT tests"
631654 - name: "test-fle"
632655 commands:
633- - func: "export FLE credentials"
656+ - func: bootstrap-mongo-orchestration
634657 - func: "run tests"
635658 - name: "test-aws-auth"
636659 commands:
660+ - func: bootstrap-mongo-orchestration
637661 - func: "export AWS auth credentials"
638662 - func: "run AWS auth tests"
639663 - name: "test-full-atlas-task"
0 commit comments