summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZakhar Kleyman <zakhar.kleyman@mongodb.com>2020-11-11 12:38:32 -0500
committerZakhar Kleyman <zakhar.kleyman@mongodb.com>2020-11-12 12:42:41 -0500
commitd9d5507ab6a8b117254cca3b5cd74ac3019c0d25 (patch)
tree438e1924f1e2ea11ead431143029c530cf37ff95
parent1cd2db51dce4b16f4bc97a75056269df0dc0bddb (diff)
downloadmongo-d9d5507ab6a8b117254cca3b5cd74ac3019c0d25.tar.gz
SERVER-32437 add Amazon Linux 2 platform support
-rw-r--r--buildscripts/package_test/.kitchen.yml5
-rwxr-xr-xbuildscripts/packager-enterprise.py2
-rwxr-xr-xbuildscripts/packager.py10
-rw-r--r--etc/evergreen.yml186
4 files changed, 196 insertions, 7 deletions
diff --git a/buildscripts/package_test/.kitchen.yml b/buildscripts/package_test/.kitchen.yml
index 5fa7b84763b..7883189bf48 100644
--- a/buildscripts/package_test/.kitchen.yml
+++ b/buildscripts/package_test/.kitchen.yml
@@ -29,6 +29,11 @@ platforms:
image_id: ami-c481fad3
transport:
username: ec2-user
+ - name: amazon2
+ driver:
+ image_id: ami-428aa838
+ transport:
+ username: ec2-user
- name: debian81
driver:
image_id: ami-116d857a
diff --git a/buildscripts/packager-enterprise.py b/buildscripts/packager-enterprise.py
index 58862bc350f..fe896c6abf5 100755
--- a/buildscripts/packager-enterprise.py
+++ b/buildscripts/packager-enterprise.py
@@ -45,7 +45,7 @@ import urlparse
ARCH_CHOICES=["x86_64", "ppc64le", "s390x", "arm64"]
# Made up names for the flavors of distribution we package for.
-DISTROS=["suse", "debian","redhat","ubuntu","amazon"]
+DISTROS=["suse", "debian","redhat","ubuntu","amazon", "amazon2"]
class EnterpriseSpec(packager.Spec):
diff --git a/buildscripts/packager.py b/buildscripts/packager.py
index 06040a98257..46365cb02fd 100755
--- a/buildscripts/packager.py
+++ b/buildscripts/packager.py
@@ -41,7 +41,7 @@ import time
ARCH_CHOICES=["x86_64", "arm64"]
# Made up names for the flavors of distribution we package for.
-DISTROS=["suse", "debian","redhat","ubuntu", "amazon"]
+DISTROS=["suse", "debian","redhat","ubuntu", "amazon", "amazon2"]
class Spec(object):
@@ -248,6 +248,8 @@ class Distro(object):
return re.sub(r'^rhel(\d).*$', r'\1', build_os)
if self.n == 'amazon':
return "2013.03"
+ elif self.n == 'amazon2':
+ return "2017.12"
elif self.n == 'ubuntu':
if build_os == 'ubuntu1204':
return "precise"
@@ -288,8 +290,8 @@ class Distro(object):
return [ "suse11", "suse12" ]
elif re.search("(redhat|fedora|centos)", self.n):
return [ "rhel80", "rhel70", "rhel71", "rhel72", "rhel62", "rhel55" ]
- elif self.n == 'amazon':
- return [ "amazon" ]
+ elif self.n in ['amazon', 'amazon2']:
+ return [ self.n ]
elif self.n == 'ubuntu':
return [ "ubuntu1204", "ubuntu1404", "ubuntu1604", "ubuntu1804"]
elif self.n == 'debian':
@@ -303,6 +305,8 @@ class Distro(object):
if self.n == 'amazon':
return 'amzn1'
+ elif self.n == 'amazon2':
+ return 'amzn2'
else:
return re.sub(r'^rh(el\d).*$', r'\1', build_os)
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index b0890cd83d2..36e8d240980 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -1295,9 +1295,9 @@ functions:
for i in {1..3}
do
- if ! kitchen verify "${packager_distro}"; then
+ if ! kitchen verify "${packager_distro}"\$; then
verified="false"
- kitchen destroy "${packager_distro}" || true
+ kitchen destroy "${packager_distro}"\$ || true
sleep 30
else
verified="true"
@@ -1305,7 +1305,7 @@ functions:
fi
done
- kitchen destroy "${packager_distro}" || true
+ kitchen destroy "${packager_distro}"\$ || true
test "$verified" = "true"
"fetch test_lifecycle.yml":
@@ -6640,6 +6640,186 @@ buildvariants:
distros:
- linux-64-amzn-small
+- name: enterprise-amazon2
+ display_name: "Enterprise Amazon Linux 2"
+ modules:
+ - enterprise
+ run_on:
+ - amazon2-test
+ batchtime: 1440 # 1 day
+ expansions:
+ test_flags: >-
+ --excludeWithAnyTags=requires_mmapv1
+ --excludeWithAnyTags=SERVER-34286
+ push_path: linux
+ push_bucket: downloads.10gen.com
+ push_name: linux
+ push_arch: x86_64-enterprise-amazon2
+ compile_flags: --ssl MONGO_DISTMOD=amazon2 --release -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_gcc.vars
+ # We invoke SCons using --jobs = (# of CPUs / 4) to avoid causing out of memory errors due to
+ # spawning a large number of linker processes.
+ num_scons_link_jobs_available: $(( $(grep -c ^processor /proc/cpuinfo) / 4 ))
+ has_packages: true
+ packager_script: packager-enterprise.py
+ packager_arch: x86_64
+ packager_distro: amazon2
+ repo_edition: enterprise
+ scons_cache_scope: shared
+ tooltags: "ssl sasl"
+ build_mongoreplay: true
+ tasks:
+ - name: compile
+ distros:
+ - amazon2-large
+ - name: compile_all
+ distros:
+ - amazon2-large
+ - name: aggregation_auth
+ - name: aggregation_WT
+ - name: audit_WT
+ - name: auth_WT
+ - name: auth_audit_WT
+ - name: dbtest_WT
+ - name: ese_WT
+ - name: failpoints_auth
+ - name: jsCore # TODO SERVER-32036: Remove when jsCore_auth depends on jsCore_WT.
+ - name: jsCore_WT
+ - name: jsCore_WT_ese
+ - name: jsCore_auth
+ - name: jsCore_decimal_WT
+ - name: jstestfuzz_WT
+ - name: jstestfuzz_concurrent_WT
+ - name: jstestfuzz_concurrent_replication_WT
+ - name: jstestfuzz_concurrent_sharded_WT
+ - name: jstestfuzz_replication_WT
+ - name: jstestfuzz_sharded_WT
+ - name: logical_session_cache_replication_1sec_refresh_jscore_passthrough_WT
+ - name: logical_session_cache_sharding_1sec_refresh_jscore_passthrough_WT
+ - name: logical_session_cache_standalone_1sec_refresh_jscore_passthrough_WT
+ - name: noPassthrough_WT
+ - name: noPassthroughWithMongod_WT
+ - name: bulk_gle_passthrough_WT
+ - name: replica_sets_auth
+ - name: replica_sets_WT_ese
+ - name: master_slave_auth
+ - name: master_slave_WT
+ - name: powercycle_WT
+ - name: sasl
+ - name: sharding_auth
+ - name: sharding_auth_audit_WT
+ - name: sharding_WT_ese
+ - name: slow1_WT
+ - name: serial_run_WT
+ - name: sharded_collections_jscore_passthrough_WT
+ - name: sharding_jscore_passthrough_WT
+ - name: sharding_jscore_op_query_passthrough_WT
+ - name: sharding_jscore_passthrough_wire_ops_WT
+ - name: snmp_WT
+ - name: ssl
+ - name: sslSpecial
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: push
+ distros:
+ - amazon2-small
+
+- name: amazon2
+ display_name: SSL Amazon Linux 2
+ run_on:
+ - amazon2-test
+ batchtime: 1440 # 1 day
+ expansions:
+ test_flags: >-
+ --excludeWithAnyTags=requires_mmapv1
+ --excludeWithAnyTags=SERVER-34286
+ push_path: linux
+ push_bucket: downloads.mongodb.org
+ push_name: linux
+ push_arch: x86_64-amazon2
+ compile_flags: --ssl MONGO_DISTMOD=amazon2 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_gcc.vars
+ # We invoke SCons using --jobs = (# of CPUs / 4) to avoid causing out of memory errors due to
+ # spawning a large number of linker processes.
+ num_scons_link_jobs_available: $(( $(grep -c ^processor /proc/cpuinfo) / 4 ))
+ multiversion_platform: amazon
+ multiversion_edition: targeted
+ has_packages: true
+ packager_script: packager.py
+ packager_arch: x86_64
+ packager_distro: amazon2
+ repo_edition: org
+ scons_cache_scope: shared
+ tooltags: "ssl"
+ build_mongoreplay: true
+ tasks:
+ - name: compile
+ distros:
+ - amazon2-large
+ distros:
+ - amazon2-large
+ - name: aggregation_WT
+ - name: aggregation_auth
+ - name: auth_WT
+ - name: dbtest_WT
+ - name: disk_WT
+ - name: failpoints
+ - name: failpoints_auth
+ - name: gle_auth_WT
+ - name: gle_auth_write_cmd_WT
+ - name: gle_auth_basics_passthrough_WT
+ - name: gle_auth_basics_passthrough_write_cmd_WT
+ - name: sharding_gle_auth_basics_passthrough_WT
+ - name: sharding_gle_auth_basics_passthrough_write_cmd_WT
+ - name: jsCore # TODO SERVER-32036: Remove when jsCore_auth depends on jsCore_WT.
+ - name: jsCore_WT
+ - name: jsCore_auth
+ - name: jsCore_compatibility_WT
+ - name: jsCore_decimal_WT
+ - name: jstestfuzz_WT
+ - name: jstestfuzz_concurrent_WT
+ - name: jstestfuzz_concurrent_replication_WT
+ - name: jstestfuzz_concurrent_sharded_WT
+ - name: jstestfuzz_replication_WT
+ - name: jstestfuzz_sharded_WT
+ - name: mongosTest
+ - name: multiversion_WT
+ - name: noPassthrough_WT
+ - name: noPassthroughWithMongod_WT
+ - name: bulk_gle_passthrough_WT
+ - name: parallel_WT
+ - name: parallel_compatibility_WT
+ - name: concurrency_WT
+ - name: concurrency_replication_WT
+ - name: concurrency_sharded_WT
+ - name: concurrency_simultaneous_WT
+ - name: logical_session_cache_replication_1sec_refresh_jscore_passthrough_WT
+ - name: logical_session_cache_sharding_1sec_refresh_jscore_passthrough_WT
+ - name: logical_session_cache_standalone_1sec_refresh_jscore_passthrough_WT
+ - name: replica_sets_WT
+ - name: replica_sets_auth
+ - name: replica_sets_jscore_passthrough_WT
+ - name: master_slave_WT
+ - name: master_slave_auth
+ - name: master_slave_jscore_passthrough_WT
+ - name: sharding_WT
+ - name: sharding_auth
+ - name: sharding_last_stable_mongos_and_mixed_shards
+ - name: slow1_WT
+ - name: serial_run_WT
+ - name: sharded_collections_jscore_passthrough_WT
+ - name: sharding_jscore_passthrough_WT
+ - name: sharding_jscore_op_query_passthrough_WT
+ - name: sharding_jscore_passthrough_wire_ops_WT
+ - name: ssl
+ - name: sslSpecial
+ - name: tool_WT
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: push
+ distros:
+ - amazon2-small
+
###########################################
# Windows buildvariants #
###########################################