From fbe055e5297871bd4c97904561dfcfc4b1ed85bf Mon Sep 17 00:00:00 2001 From: winstonzmdb Date: Fri, 23 Sep 2022 20:44:51 +0000 Subject: SERVER-62301 Platform Support: Add support for Ubuntu 22.04 ARM --- buildscripts/package_test/kitchen.yml | 7 ++ .../test/recipes/service/install_mongodb_spec.rb | 4 +- buildscripts/packager_enterprise.py | 2 +- etc/evergreen_yml_components/definitions.yml | 3 + .../variants/misc_release.yml | 92 ++++++++++++++++++++++ etc/generate_subtasks_config.yml | 1 + 6 files changed, 107 insertions(+), 2 deletions(-) diff --git a/buildscripts/package_test/kitchen.yml b/buildscripts/package_test/kitchen.yml index b63867ca6db..22b90a098e1 100644 --- a/buildscripts/package_test/kitchen.yml +++ b/buildscripts/package_test/kitchen.yml @@ -139,6 +139,13 @@ platforms: user_data: ubuntu-user-data.sh transport: username: ubuntu + - name: ubuntu2204-arm64 + driver: + image_id: ami-070650c005cce4203 + instance_type: m6g.medium + user_data: ubuntu-user-data.sh + transport: + username: ubuntu transport: ssh_key: ~/.ssh/kitchen.pem diff --git a/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb b/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb index 5410537864c..c0569281332 100644 --- a/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb +++ b/buildscripts/package_test/test/recipes/service/install_mongodb_spec.rb @@ -165,7 +165,9 @@ if deb its('shell') { if ((os[:name] == 'debian' and os[:release].split('.')[0] >= '10') or (os[:name] == 'ubuntu' and os[:release] == '18.04') or - (os[:name] == 'ubuntu' and os[:release] >= '20.04')) + (os[:name] == 'ubuntu' and os[:release] == '20.04') or + (os[:name] == 'ubuntu' and os[:release] == '22.04') + ) should eq '/usr/sbin/nologin' else should eq '/bin/false' diff --git a/buildscripts/packager_enterprise.py b/buildscripts/packager_enterprise.py index a03f3ab9524..35045725a01 100755 --- a/buildscripts/packager_enterprise.py +++ b/buildscripts/packager_enterprise.py @@ -138,7 +138,7 @@ class EnterpriseDistro(packager.Distro): return [] if arch == "arm64": if self.dname == 'ubuntu': - return ["ubuntu1804", "ubuntu2004"] + return ["ubuntu1804", "ubuntu2004", "ubuntu2204"] if arch == "aarch64": if self.dname == 'redhat': return ["rhel82"] diff --git a/etc/evergreen_yml_components/definitions.yml b/etc/evergreen_yml_components/definitions.yml index a864e614a95..a9cbd84dfbd 100644 --- a/etc/evergreen_yml_components/definitions.yml +++ b/etc/evergreen_yml_components/definitions.yml @@ -311,6 +311,7 @@ variables: - enterprise-ubuntu1804-64 - enterprise-ubuntu1804-arm64 - enterprise-ubuntu2004-arm64 + - enterprise-ubuntu2204-arm64 - enterprise-ubuntu2004-64 - enterprise-ubuntu2204-64 - enterprise-windows @@ -373,11 +374,13 @@ variables: - ubuntu1804 - ubuntu1804-arm64 - ubuntu2004-arm64 + - ubuntu2204-arm64 - ubuntu2004 - ubuntu2204 - enterprise-ubuntu1804-64 - enterprise-ubuntu1804-arm64 - enterprise-ubuntu2004-arm64 + - enterprise-ubuntu2204-arm64 - enterprise-ubuntu2004-64 - enterprise-windows - windows diff --git a/etc/evergreen_yml_components/variants/misc_release.yml b/etc/evergreen_yml_components/variants/misc_release.yml index 8504430b1ad..c5e56a69ea8 100644 --- a/etc/evergreen_yml_components/variants/misc_release.yml +++ b/etc/evergreen_yml_components/variants/misc_release.yml @@ -2029,6 +2029,98 @@ buildvariants: - ubuntu2004-test - name: generate_buildid_to_debug_symbols_mapping + +- name: enterprise-ubuntu2204-arm64 + display_name: Enterprise Ubuntu 22.04 arm64 + cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. + modules: + - enterprise + run_on: + - ubuntu2204-arm64-large + expansions: + additional_package_targets: archive-mongocryptd archive-mongocryptd-debug + push_path: linux + push_bucket: downloads.10gen.com + push_name: linux + push_arch: aarch64-enterprise-ubuntu2204 + compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars + crypt_task_compile_flags: SHLINKFLAGS_EXTRA="-Wl,-Bsymbolic -Wl,--no-gnu-unique" CCFLAGS="-fno-gnu-unique" + resmoke_jobs_max: 4 # Avoid starting too many mongod's on ARM test servers + has_packages: true + packager_script: packager_enterprise.py + packager_arch: arm64 + packager_distro: ubuntu2204 + repo_edition: enterprise + multiversion_platform: ubuntu2204 + multiversion_architecture: arm64 + multiversion_architecture_42_or_later: aarch64 + multiversion_edition: enterprise + scons_cache_scope: shared + tasks: + - name: compile_test_and_package_serial_no_unittests_TG + - name: aggregation !.feature_flag_guarded + - name: aggregation_wildcard_fuzzer_gen + - name: .auth !.audit !.multiversion !.jscore + - name: causally_consistent_jscore_txns_passthrough + - name: .misc_js + - name: .concurrency .common + - name: concurrency_replication_causal_consistency_gen + - name: fle + - name: .jscore .common !.auth !.feature_flag_guarded + - name: .jstestfuzz .common + - name: .logical_session_cache .one_sec + - name: replica_sets_gen + - name: .replica_sets .common + - name: .sharding .txns + - name: sharding_gen + - name: sharding_jscore_passthrough + - name: .ssl + - name: .stitch + - name: .crypt + - name: .publish_crypt + - name: test_packages + distros: + - ubuntu2004-package + - name: .publish + distros: + - ubuntu2204-small + - name: generate_buildid_to_debug_symbols_mapping + +- name: ubuntu2204-arm64 + display_name: Ubuntu 22.04 arm64 + cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. + run_on: + - ubuntu2204-arm64-large + expansions: + push_path: linux + push_bucket: downloads.mongodb.org + push_name: linux + push_arch: aarch64-ubuntu2204 + compile_flags: --ssl MONGO_DISTMOD=ubuntu2204 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars + resmoke_jobs_max: 8 # Avoid starting too many mongod's on ARM test servers + has_packages: true + packager_script: packager.py + packager_arch: arm64 + packager_distro: ubuntu2204 + repo_edition: org + multiversion_platform: ubuntu2204 + multiversion_architecture: arm64 + multiversion_architecture_42_or_later: aarch64 + multiversion_edition: targeted + scons_cache_scope: shared + tasks: + - name: compile_test_and_package_serial_no_unittests_TG + - name: free_monitoring + - name: jsCore + - name: replica_sets_jscore_passthrough + - name: test_packages + distros: + - ubuntu2004-package + - name: .publish + distros: + - ubuntu2204-small + - name: generate_buildid_to_debug_symbols_mapping + - name: windows display_name: Windows cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. diff --git a/etc/generate_subtasks_config.yml b/etc/generate_subtasks_config.yml index 11ef7410d60..4b78e2b086b 100644 --- a/etc/generate_subtasks_config.yml +++ b/etc/generate_subtasks_config.yml @@ -32,6 +32,7 @@ build_variant_large_distro_exceptions: - enterprise-ubuntu1804-ppc64le - enterprise-ubuntu1804-s390x - enterprise-ubuntu2004-arm64 + - enterprise-ubuntu2204-arm64 - hot_backups-rhel-70-64-bit - macos - macos-arm64 -- cgit v1.2.1