@@ -124,6 +124,11 @@ functions:
124
124
perl -p -i -e "s|ABSOLUTE_PATH_REPLACEMENT_TOKEN|${DRIVERS_TOOLS}|g" $filename
125
125
done
126
126
127
+ " assume-aws-test-secrets-role " :
128
+ - command : ec2.assume_role
129
+ params :
130
+ role_arn : ${aws_test_secrets_role}
131
+
127
132
" create-archive-tar-file " :
128
133
- command : shell.exec
129
134
params :
@@ -154,9 +159,6 @@ functions:
154
159
bash ${DRIVERS_TOOLS}/.evergreen/stop-orchestration.sh || true
155
160
156
161
" start-mongohoused " :
157
- - command : ec2.assume_role
158
- params :
159
- role_arn : ${aws_test_secrets_role}
160
162
- command : shell.exec
161
163
params :
162
164
include_expansions_in_env : [ "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN" ]
@@ -168,9 +170,6 @@ functions:
168
170
DRIVERS_TOOLS="${DRIVERS_TOOLS}" bash ${DRIVERS_TOOLS}/.evergreen/atlas_data_lake/run-mongohouse-image.sh
169
171
170
172
" stop-mongohoused " :
171
- - command : ec2.assume_role
172
- params :
173
- role_arn : ${aws_test_secrets_role}
174
173
- command : shell.exec
175
174
params :
176
175
include_expansions_in_env : [ "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN" ]
@@ -182,6 +181,7 @@ functions:
182
181
- command : shell.exec
183
182
params :
184
183
shell : " bash"
184
+ include_expansions_in_env : [ "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN" ]
185
185
script : |
186
186
${PREPARE_SHELL}
187
187
bash ${DRIVERS_TOOLS}/.evergreen/serverless/setup-secrets.sh ${VAULT_NAME}
@@ -192,6 +192,8 @@ functions:
192
192
" stop-serverless " :
193
193
- command : shell.exec
194
194
params :
195
+ shell : " bash"
196
+ include_expansions_in_env : [ "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN" ]
195
197
script : |
196
198
${PREPARE_SHELL}
197
199
bash ${DRIVERS_TOOLS}/.evergreen/serverless/delete-instance.sh || true
@@ -211,34 +213,6 @@ functions:
211
213
cd ${DRIVERS_TOOLS}/.evergreen
212
214
DRIVERS_TOOLS=${DRIVERS_TOOLS} bash ${DRIVERS_TOOLS}/.evergreen/run-load-balancer.sh stop || true
213
215
214
- " start-kms-mock-server " :
215
- - command : shell.exec
216
- params :
217
- background : true
218
- shell : " bash"
219
- script : |
220
- ${PREPARE_SHELL}
221
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
222
- . ./activate-kmstlsvenv.sh
223
- python -u kms_http_server.py -v --ca_file ../x509gen/ca.pem --cert_file ../x509gen/${CERT_FILE} --port 8000
224
-
225
- " start-kms-kmip-server " :
226
- - command : shell.exec
227
- params :
228
- shell : " bash"
229
- script : |
230
- ${PREPARE_SHELL}
231
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
232
- . ./activate-kmstlsvenv.sh
233
- - command : shell.exec
234
- params :
235
- shell : " bash"
236
- background : true
237
- script : |
238
- cd ${DRIVERS_TOOLS}/.evergreen/csfle
239
- . ./activate-kmstlsvenv.sh
240
- python -u kms_kmip_server.py
241
-
242
216
" stop-aws " :
243
217
- command : shell.exec
244
218
params :
@@ -260,9 +234,6 @@ functions:
260
234
rm -rf $DRIVERS_TOOLS || true
261
235
262
236
" add-aws-auth-variables-to-file " :
263
- - command : ec2.assume_role
264
- params :
265
- role_arn : ${aws_test_secrets_role}
266
237
- command : shell.exec
267
238
type : " test"
268
239
params :
@@ -463,8 +434,6 @@ functions:
463
434
echo "Response Body: $response_body"
464
435
echo "HTTP Status: $http_status"
465
436
466
-
467
- #
468
437
# Test functions
469
438
#
470
439
@@ -474,25 +443,11 @@ functions:
474
443
params :
475
444
working_dir : " src"
476
445
env :
477
- AWS_ACCESS_KEY_ID : ${aws_access_key_id}
478
- AWS_SECRET_ACCESS_KEY : ${aws_secret_access_key}
479
- AWS_ACCESS_KEY_ID_AWS_KMS_NAMED : ${aws_access_key_id_2}
480
- AWS_SECRET_ACCESS_KEY_AWS_KMS_NAMED : ${aws_secret_access_key_2}
481
- AWS_DEFAULT_REGION : us-east-1
482
- AZURE_TENANT_ID : ${azure_tenant_id}
483
- AZURE_CLIENT_ID : ${azure_client_id}
484
- AZURE_CLIENT_SECRET : ${azure_client_secret}
485
- GCP_EMAIL : ${gcp_email}
486
- GCP_PRIVATE_KEY : ${gcp_private_key}
487
446
AZUREKMS_KEY_VAULT_ENDPOINT : ${testazurekms_keyvaultendpoint}
488
447
AZUREKMS_KEY_NAME : ${testazurekms_keyname}
489
448
script : |
490
449
${PREPARE_SHELL}
491
450
492
- . ${DRIVERS_TOOLS}/.evergreen/csfle/set-temp-creds.sh
493
- export AWS_TEMP_ACCESS_KEY_ID=$CSFLE_AWS_TEMP_ACCESS_KEY_ID
494
- export AWS_TEMP_SECRET_ACCESS_KEY=$CSFLE_AWS_TEMP_SECRET_ACCESS_KEY
495
- export AWS_TEMP_SESSION_TOKEN=$CSFLE_AWS_TEMP_SESSION_TOKEN
496
451
export CRYPT_SHARED_LIB_PATH=${CRYPT_SHARED_LIB_PATH}
497
452
498
453
AUTH="${AUTH}" SSL="${SSL}" MONGODB_URI="${MONGODB_URI}" TOPOLOGY="${TOPOLOGY}" \
@@ -816,9 +771,6 @@ functions:
816
771
type : " test"
817
772
params :
818
773
working_dir : " src"
819
- env :
820
- AWS_ACCESS_KEY_ID : ${aws_access_key_id}
821
- AWS_SECRET_ACCESS_KEY : ${aws_secret_access_key}
822
774
script : |
823
775
${PREPARE_SHELL}
824
776
set +o xtrace
@@ -830,26 +782,10 @@ functions:
830
782
params :
831
783
working_dir : " src"
832
784
env :
833
- AWS_ACCESS_KEY_ID : ${aws_access_key_id}
834
- AWS_SECRET_ACCESS_KEY : ${aws_secret_access_key}
835
- AWS_ACCESS_KEY_ID_AWS_KMS_NAMED : ${aws_access_key_id_2}
836
- AWS_SECRET_ACCESS_KEY_AWS_KMS_NAMED : ${aws_secret_access_key_2}
837
- AWS_DEFAULT_REGION : us-east-1
838
- AZURE_TENANT_ID : ${azure_tenant_id}
839
- AZURE_CLIENT_ID : ${azure_client_id}
840
- AZURE_CLIENT_SECRET : ${azure_client_secret}
841
- GCP_EMAIL : ${gcp_email}
842
- GCP_PRIVATE_KEY : ${gcp_private_key}
843
785
AZUREKMS_KEY_VAULT_ENDPOINT : ${testazurekms_keyvaultendpoint}
844
786
AZUREKMS_KEY_NAME : ${testazurekms_keyname}
845
787
script : |
846
788
${PREPARE_SHELL}
847
- . ${DRIVERS_TOOLS}/.evergreen/csfle/set-temp-creds.sh
848
-
849
- export AWS_TEMP_ACCESS_KEY_ID=$CSFLE_AWS_TEMP_ACCESS_KEY_ID
850
- export AWS_TEMP_SECRET_ACCESS_KEY=$CSFLE_AWS_TEMP_SECRET_ACCESS_KEY
851
- export AWS_TEMP_SESSION_TOKEN=$CSFLE_AWS_TEMP_SESSION_TOKEN
852
-
853
789
MONGODB_URI="${MONGODB_URI}" JAVA_VERSION="${JAVA_VERSION}" .evergreen/run-csfle-tests-with-mongocryptd.sh
854
790
855
791
" run-perf-tests " :
@@ -899,13 +835,15 @@ pre:
899
835
- func : " fix-absolute-paths"
900
836
901
837
post :
838
+ - func : " stop-mongo-orchestration"
902
839
- func : " upload-mo-artifacts"
903
840
- func : " upload-test-results"
841
+ - func : " assume-aws-test-secrets-role"
904
842
- func : " stop-load-balancer"
905
843
- func : " stop-serverless"
906
844
- func : " stop-aws"
907
- - func : " stop-mongo-orchestration"
908
845
- func : " stop-mongohoused"
846
+ - func : " stop-csfle-servers"
909
847
- func : " cleanup"
910
848
911
849
tasks :
@@ -936,23 +874,23 @@ tasks:
936
874
937
875
- name : " test-legacy-task"
938
876
commands :
939
- - func : " start-kms-kmip-server "
877
+ - func : " start-csfle-servers "
940
878
- func : " start-mongo-orchestration"
941
879
- func : " run-tests"
942
880
vars :
943
881
TESTS : ' driver-legacy:test'
944
882
945
883
- name : " test-sync-task"
946
884
commands :
947
- - func : " start-kms-kmip-server "
885
+ - func : " start-csfle-servers "
948
886
- func : " start-mongo-orchestration"
949
887
- func : " run-tests"
950
888
vars :
951
889
TESTS : ' driver-sync:test'
952
890
953
891
- name : " test-reactive-task"
954
892
commands :
955
- - func : " start-kms-kmip-server "
893
+ - func : " start-csfle-servers "
956
894
- func : " start-mongo-orchestration"
957
895
- func : " run-tests"
958
896
vars :
@@ -1036,10 +974,7 @@ tasks:
1036
974
# Might exceed 1 hour of execution.
1037
975
exec_timeout_secs : 7200
1038
976
commands :
1039
- - command : ec2.assume_role
1040
- params :
1041
- role_arn : ${aws_test_secrets_role}
1042
- duration_seconds : 1800
977
+ - func : " assume-aws-test-secrets-role"
1043
978
- func : " run-oidc-auth-test-k8s-test"
1044
979
vars :
1045
980
VARIANT : eks
@@ -1052,12 +987,13 @@ tasks:
1052
987
1053
988
- name : " serverless-test-task"
1054
989
commands :
990
+ - func : " assume-aws-test-secrets-role"
1055
991
- func : " start-serverless"
1056
992
- func : " run-serverless-tests"
1057
993
1058
994
- name : " accept-api-version-2-test-task"
1059
995
commands :
1060
- - func : " start-kms-kmip-server "
996
+ - func : " start-csfle-servers "
1061
997
- func : " start-mongo-orchestration"
1062
998
vars :
1063
999
ORCHESTRATION_FILE : " versioned-api-testing.json"
@@ -1074,6 +1010,7 @@ tasks:
1074
1010
AUTH : " auth"
1075
1011
ORCHESTRATION_FILE : " auth-aws.json"
1076
1012
TOPOLOGY : " server"
1013
+ - func : " assume-aws-test-secrets-role"
1077
1014
- func : " add-aws-auth-variables-to-file"
1078
1015
- func : " run-aws-auth-test-with-regular-aws-credentials"
1079
1016
@@ -1084,6 +1021,7 @@ tasks:
1084
1021
AUTH : " auth"
1085
1022
ORCHESTRATION_FILE : " auth-aws.json"
1086
1023
TOPOLOGY : " server"
1024
+ - func : " assume-aws-test-secrets-role"
1087
1025
- func : " add-aws-auth-variables-to-file"
1088
1026
- func : " run-aws-auth-test-with-assume-role-credentials"
1089
1027
@@ -1094,6 +1032,7 @@ tasks:
1094
1032
AUTH : " auth"
1095
1033
ORCHESTRATION_FILE : " auth-aws.json"
1096
1034
TOPOLOGY : " server"
1035
+ - func : " assume-aws-test-secrets-role"
1097
1036
- func : " add-aws-auth-variables-to-file"
1098
1037
- func : " run-aws-auth-test-with-aws-credentials-as-environment-variables"
1099
1038
@@ -1104,6 +1043,7 @@ tasks:
1104
1043
AUTH : " auth"
1105
1044
ORCHESTRATION_FILE : " auth-aws.json"
1106
1045
TOPOLOGY : " server"
1046
+ - func : " assume-aws-test-secrets-role"
1107
1047
- func : " add-aws-auth-variables-to-file"
1108
1048
- func : " run-aws-auth-test-with-aws-credentials-and-session-token-as-environment-variables"
1109
1049
@@ -1114,6 +1054,7 @@ tasks:
1114
1054
AUTH : " auth"
1115
1055
ORCHESTRATION_FILE : " auth-aws.json"
1116
1056
TOPOLOGY : " server"
1057
+ - func : " assume-aws-test-secrets-role"
1117
1058
- func : " add-aws-auth-variables-to-file"
1118
1059
- func : " run-aws-auth-test-with-aws-EC2 credentials"
1119
1060
@@ -1124,6 +1065,7 @@ tasks:
1124
1065
AUTH : " auth"
1125
1066
ORCHESTRATION_FILE : " auth-aws.json"
1126
1067
TOPOLOGY : " server"
1068
+ - func : " assume-aws-test-secrets-role"
1127
1069
- func : " add-aws-auth-variables-to-file"
1128
1070
- func : " run-aws-auth-test-with-web-identity-credentials"
1129
1071
@@ -1526,6 +1468,7 @@ tasks:
1526
1468
1527
1469
- name : " atlas-data-lake-task"
1528
1470
commands :
1471
+ - func : " assume-aws-test-secrets-role"
1529
1472
- func : " start-mongohoused"
1530
1473
- command : shell.exec
1531
1474
type : " test"
@@ -1664,9 +1607,7 @@ tasks:
1664
1607
TOPOLOGY : " server"
1665
1608
AUTH : " noauth"
1666
1609
SSL : " nossl"
1667
- - func : " start-kms-mock-server"
1668
- vars :
1669
- CERT_FILE : " expired.pem"
1610
+ - func : " start-csfle-servers"
1670
1611
- func : " run-kms-tls-test"
1671
1612
vars :
1672
1613
KMS_TLS_ERROR_TYPE : " expired"
@@ -1682,7 +1623,7 @@ tasks:
1682
1623
TOPOLOGY : " server"
1683
1624
AUTH : " noauth"
1684
1625
SSL : " nossl"
1685
- - func : " start-kms-mock-server "
1626
+ - func : " start-csfle-servers "
1686
1627
vars :
1687
1628
CERT_FILE : " wrong-host.pem"
1688
1629
- func : " run-kms-tls-test"
@@ -1695,6 +1636,7 @@ tasks:
1695
1636
- name : " test-csfle-aws-from-environment-task"
1696
1637
tags : [ "csfle-aws-from-environment" ]
1697
1638
commands :
1639
+ - func : " start-csfle-servers"
1698
1640
- func : " start-mongo-orchestration"
1699
1641
vars :
1700
1642
TOPOLOGY : " server"
@@ -1704,7 +1646,7 @@ tasks:
1704
1646
1705
1647
- name : " csfle-tests-with-mongocryptd-task"
1706
1648
commands :
1707
- - func : " start-kms-kmip-server "
1649
+ - func : " start-csfle-servers "
1708
1650
- func : " start-mongo-orchestration"
1709
1651
- func : " run-csfle-tests-with-mongocryptd"
1710
1652
@@ -2054,7 +1996,7 @@ task_groups:
2054
1996
export GCPKMS_PROJECT=${GCPKMS_PROJECT}
2055
1997
export GCPKMS_ZONE=${GCPKMS_ZONE}
2056
1998
export GCPKMS_INSTANCENAME=${GCPKMS_INSTANCENAME}
2057
- $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/delete-instance.sh
1999
+ $DRIVERS_TOOLS/.evergreen/csfle/gcpkms/delete-instance.sh || true
2058
2000
tasks :
2059
2001
- " test-gcp-kms-task"
2060
2002
@@ -2066,9 +2008,11 @@ task_groups:
2066
2008
- func : " prepare-resources"
2067
2009
- func : " fix-absolute-paths"
2068
2010
- func : " create-archive-tar-file"
2011
+ - func : " assume-aws-test-secrets-role"
2069
2012
- command : shell.exec
2070
2013
params :
2071
2014
shell : " bash"
2015
+ include_expansions_in_env : [ "AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_SESSION_TOKEN" ]
2072
2016
script : |
2073
2017
${PREPARE_SHELL}
2074
2018
echo '${testazurekms_publickey}' > /tmp/testazurekms_publickey
@@ -2113,9 +2057,7 @@ task_groups:
2113
2057
- func : " fetch-source"
2114
2058
- func : " prepare-resources"
2115
2059
- func : " fix-absolute-paths"
2116
- - command : ec2.assume_role
2117
- params :
2118
- role_arn : ${aws_test_secrets_role}
2060
+ - func : " assume-aws-test-secrets-role"
2119
2061
- command : subprocess.exec
2120
2062
params :
2121
2063
binary : bash
@@ -2141,9 +2083,7 @@ task_groups:
2141
2083
- func : " prepare-resources"
2142
2084
- func : " fix-absolute-paths"
2143
2085
- func : " create-archive-tar-file"
2144
- - command : ec2.assume_role
2145
- params :
2146
- role_arn : ${aws_test_secrets_role}
2086
+ - func : " assume-aws-test-secrets-role"
2147
2087
- command : subprocess.exec
2148
2088
params :
2149
2089
binary : bash
@@ -2171,9 +2111,7 @@ task_groups:
2171
2111
- func : " prepare-resources"
2172
2112
- func : " fix-absolute-paths"
2173
2113
- func : " create-archive-tar-file"
2174
- - command : ec2.assume_role
2175
- params :
2176
- role_arn : ${aws_test_secrets_role}
2114
+ - func : " assume-aws-test-secrets-role"
2177
2115
- command : subprocess.exec
2178
2116
params :
2179
2117
binary : bash
@@ -2202,9 +2140,7 @@ task_groups:
2202
2140
- func : " prepare-resources"
2203
2141
- func : " fix-absolute-paths"
2204
2142
- func : " create-archive-tar-file"
2205
- - command : ec2.assume_role
2206
- params :
2207
- role_arn : ${aws_test_secrets_role}
2143
+ - func : " assume-aws-test-secrets-role"
2208
2144
- command : subprocess.exec
2209
2145
params :
2210
2146
binary : bash
0 commit comments