diff options
author | t.ward <22226719+tward333@users.noreply.github.com> | 2022-09-22 20:50:45 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-09-22 21:28:43 +0000 |
commit | 17e33729b052e5bc23f3fb3e3afcd66b55c6157a (patch) | |
tree | 646d95e021be95b5ced6f4821504429705c3a7ee | |
parent | eac5afb151fc64740763316c128a46c8c664d37e (diff) | |
download | mongo-17e33729b052e5bc23f3fb3e3afcd66b55c6157a.tar.gz |
SERVER-62302 Add support for RHEL9 x86
-rw-r--r-- | buildscripts/package_test/kitchen.yml | 6 | ||||
-rw-r--r-- | buildscripts/package_test/recipes/install_mongodb.rb | 8 | ||||
-rw-r--r-- | buildscripts/package_test/rhel-user-data.sh | 6 | ||||
-rwxr-xr-x | buildscripts/packager.py | 12 | ||||
-rwxr-xr-x | buildscripts/packager_enterprise.py | 4 | ||||
-rw-r--r-- | etc/evergreen_yml_components/definitions.yml | 38 | ||||
-rw-r--r-- | etc/evergreen_yml_components/variants/misc_release.yml | 129 | ||||
-rw-r--r-- | etc/generate_subtasks_config.yml | 2 | ||||
-rw-r--r-- | etc/repo_config.yaml | 16 |
9 files changed, 218 insertions, 3 deletions
diff --git a/buildscripts/package_test/kitchen.yml b/buildscripts/package_test/kitchen.yml index dd8ea3c0252..b63867ca6db 100644 --- a/buildscripts/package_test/kitchen.yml +++ b/buildscripts/package_test/kitchen.yml @@ -79,6 +79,12 @@ platforms: instance_type: m6g.medium transport: username: ec2-user + - name: rhel90-x86-64 + driver: + image_id: ami-0c41531b8d18cc72b + user_data: rhel-user-data.sh + transport: + username: ec2-user - name: suse11-x86-64 driver: image_id: ami-7f2e6015 diff --git a/buildscripts/package_test/recipes/install_mongodb.rb b/buildscripts/package_test/recipes/install_mongodb.rb index 5756e77f7b0..e7ec6a7067f 100644 --- a/buildscripts/package_test/recipes/install_mongodb.rb +++ b/buildscripts/package_test/recipes/install_mongodb.rb @@ -100,6 +100,14 @@ if platform_family? 'rhel' or platform_family? 'amazon' sleep 120 EOH end + #rhel9 doesn't have Gconf2 without epel + if node['platform'] == 'redhat' and node['platform_version'] == '9.0' + execute 'install epel' do + command 'dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm -y' + live_stream true + cwd homedir + end + end execute 'install mongod' do command 'yum install -y `find . -name "*server*.rpm"`' live_stream true diff --git a/buildscripts/package_test/rhel-user-data.sh b/buildscripts/package_test/rhel-user-data.sh new file mode 100644 index 00000000000..fe927b9b272 --- /dev/null +++ b/buildscripts/package_test/rhel-user-data.sh @@ -0,0 +1,6 @@ +#! /bin/bash +sed -i '/^PubkeyAcceptedAlgorithms/s/$/,ssh-rsa/' /etc/crypto-policies/back-ends/opensshserver.config +sed -i '/^HostKeyAlgorithms/s/$/,ssh-rsa/' /etc/crypto-policies/back-ends/opensshserver.config +update-crypto-policies --set LEGACY +systemctl restart sshd + diff --git a/buildscripts/packager.py b/buildscripts/packager.py index ef281a0b907..2f0c0cf10e3 100755 --- a/buildscripts/packager.py +++ b/buildscripts/packager.py @@ -340,7 +340,17 @@ class Distro(object): if re.search("(suse)", self.dname): return ["suse11", "suse12", "suse15"] elif re.search("(redhat|fedora|centos)", self.dname): - return ["rhel82", "rhel80", "rhel70", "rhel71", "rhel72", "rhel62", "rhel55", "rhel67"] + return [ + "rhel90", + "rhel82", + "rhel80", + "rhel70", + "rhel71", + "rhel72", + "rhel62", + "rhel55", + "rhel67", + ] elif self.dname in ['amazon', 'amazon2']: return [self.dname] elif self.dname == 'ubuntu': diff --git a/buildscripts/packager_enterprise.py b/buildscripts/packager_enterprise.py index 14751b81452..a03f3ab9524 100755 --- a/buildscripts/packager_enterprise.py +++ b/buildscripts/packager_enterprise.py @@ -119,7 +119,7 @@ class EnterpriseDistro(packager.Distro): def build_os(self, arch): """Return the build os label in the binary package to download. - The labels "rhel57", "rhel62", "rhel67", "rhel70", "rhel80" are for redhat, + The labels "rhel57", "rhel62", "rhel67", "rhel70", "rhel80", "rhel90" are for redhat, the others are delegated to the super class. """ if arch == "ppc64le": @@ -147,7 +147,7 @@ class EnterpriseDistro(packager.Distro): return [] if re.search("(redhat|fedora|centos)", self.dname): - return ["rhel80", "rhel70", "rhel62", "rhel57"] + return ["rhel90", "rhel80", "rhel70", "rhel62", "rhel57"] return super(EnterpriseDistro, self).build_os(arch) diff --git a/etc/evergreen_yml_components/definitions.yml b/etc/evergreen_yml_components/definitions.yml index 7d61b70bac7..099d0b58210 100644 --- a/etc/evergreen_yml_components/definitions.yml +++ b/etc/evergreen_yml_components/definitions.yml @@ -305,6 +305,7 @@ variables: - enterprise-rhel-80-64-bit-suggested - enterprise-rhel-82-arm64 - enterprise-rhel-83-s390x + - enterprise-rhel-90-64-bit - enterprise-suse12-64 - enterprise-suse15-64 - enterprise-ubuntu1804-64 @@ -332,6 +333,7 @@ variables: - enterprise-rhel-80-64-bit-dynamic-required - enterprise-rhel-70-64-bit - enterprise-rhel-82-arm64 + - enterprise-rhel-90-64-bit - enterprise-amazon2-arm64 - enterprise-ubuntu1804-64 - enterprise-ubuntu2004-64 @@ -358,10 +360,12 @@ variables: - ubi8 - rhel80 - rhel-82-arm64 + - rhel90 - enterprise-rhel-80-64-bit - enterprise-rhel-80-64-bit-suggested # For testing selinux. - enterprise-rhel-82-arm64 - enterprise-rhel-83-s390x + - enterprise-rhel-90-64-bit - suse12 - enterprise-suse12-64 - suse15 @@ -6603,8 +6607,42 @@ tasks: - func: "run selinux tests" vars: distro: rhel80-selinux +- name: selinux_rhel9_org + tags: [] + depends_on: + - name: archive_dist_test + - name: package + commands: + - command: manifest.load + - func: "git get project and add git tag" + - *f_expansions_write + - func: "set up venv" + - func: "fetch packages" + - func: "fetch binaries" + - func: "extract binaries" + - func: "run selinux tests" + vars: + distro: rhel90-selinux + test_list: jstests/selinux/*.js +- name: selinux_rhel9_enterprise + tags: [] + depends_on: + - name: archive_dist_test + - name: package + commands: + - command: manifest.load + - func: "git get project and add git tag" + - *f_expansions_write + - func: "set up venv" + - func: "fetch packages" + - func: "fetch binaries" + - func: "extract binaries" + - func: "run selinux tests" + vars: + distro: rhel90-selinux test_list: jstests/selinux/*.js src/mongo/db/modules/enterprise/jstests/selinux/*.js + - name: selinux_rhel7_org tags: [] depends_on: diff --git a/etc/evergreen_yml_components/variants/misc_release.yml b/etc/evergreen_yml_components/variants/misc_release.yml index 1ae0996d15a..8504430b1ad 100644 --- a/etc/evergreen_yml_components/variants/misc_release.yml +++ b/etc/evergreen_yml_components/variants/misc_release.yml @@ -1078,6 +1078,135 @@ buildvariants: - rhel80-small - name: generate_buildid_to_debug_symbols_mapping +- name: rhel90 + display_name: RHEL 9.0 + cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. + run_on: + - rhel90-build + expansions: + push_path: linux + push_bucket: downloads.mongodb.org + push_name: linux + push_arch: x86_64-rhel90 + compile_flags: --ssl MONGO_DISTMOD=rhel90 -j$(grep -c ^processor /proc/cpuinfo) --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars + multiversion_platform: rhel90 + multiversion_edition: targeted + has_packages: true + packager_script: packager.py + packager_arch: x86_64 + packager_distro: rhel90 + repo_edition: org + scons_cache_scope: shared + large_distro_name: rhel90-build + tasks: + - name: compile_test_and_package_serial_no_unittests_TG + distros: + - rhel90-build + - name: aggregation !.feature_flag_guarded + - name: .auth !.audit !.multiversion + - name: causally_consistent_jscore_txns_passthrough + - name: .misc_js + - name: .concurrency .common + distros: + - rhel90-build + - name: concurrency_replication_causal_consistency_gen + - name: disk_wiredtiger + - name: free_monitoring + - name: .jscore .common + - name: .jstestfuzz .common !.multiversion + - name: .logical_session_cache .one_sec + - name: replica_sets_gen + - name: .replica_sets .common + - name: .sharding .txns + - name: .sharding .common !.csrs !.multiversion + - name: .ssl + - name: .stitch + - name: test_packages + distros: + - ubuntu2004-package + - name: selinux_rhel9_org + - name: .publish + distros: + - rhel90-small + - name: generate_buildid_to_debug_symbols_mapping + +- name: enterprise-rhel-90-64-bit + display_name: "Enterprise RHEL 9.0" + cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. + modules: + - enterprise + run_on: + - rhel90-small + expansions: &enterprise-rhel-90-64-bit-expansions + additional_package_targets: archive-mongocryptd archive-mongocryptd-debug archive-mh archive-mh-debug + push_path: linux + push_bucket: downloads.10gen.com + push_name: linux + push_arch: x86_64-enterprise-rhel90 + compile_flags: --ssl MONGO_DISTMOD=rhel90 -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" + multiversion_platform: rhel90 + multiversion_edition: enterprise + has_packages: true + packager_script: packager_enterprise.py + packager_arch: x86_64 + packager_distro: rhel90 + repo_edition: enterprise + scons_cache_scope: shared + tasks: + - name: compile_test_and_package_serial_no_unittests_TG + distros: + - rhel90-large + - name: compile_build_tools_next_TG + distros: + - rhel90-large + - name: .aggfuzzer !.feature_flag_guarded !.multiversion + - name: audit + - name: auth_audit_gen + - name: auth_gen + - name: causally_consistent_jscore_txns_passthrough + - name: config_fuzzer_concurrency + - name: config_fuzzer_simulate_crash_concurrency_replication + distros: + - rhel90-large + - name: config_fuzzer_concurrency_replication + distros: + - rhel90-large + - name: config_fuzzer_jsCore + - name: config_fuzzer_replica_sets_jscore_passthrough + distros: + - rhel90-large + - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore + - name: external_auth + - name: external_auth_aws + - name: .jscore .common !.decimal !.sharding + - name: jsCore_txns_large_txns_format + - name: .jstestfuzz .common + - name: libunwind_tests + - name: .logical_session_cache .one_sec + - name: .ocsp + - name: replica_sets_auth_gen + - name: replica_sets_jscore_passthrough + - name: .replica_sets .multi_oplog + - name: sasl + - name: search + - name: search_auth + - name: search_ssl + - name: sharding_auth_audit_gen + - name: sharding_auth_gen + - name: .stitch + - name: .crypt + - name: .publish_crypt + - name: unittest_shell_hang_analyzer_gen + - name: test_packages + distros: + - ubuntu2004-package + - name: selinux_rhel9_enterprise + - name: .publish + distros: + - rhel90-small + - name: generate_buildid_to_debug_symbols_mapping + - name: suse12 display_name: SUSE 12 cron: "0 4 * * *" # From the ${project_nightly_cron} parameter. diff --git a/etc/generate_subtasks_config.yml b/etc/generate_subtasks_config.yml index 11d08c85b02..11ef7410d60 100644 --- a/etc/generate_subtasks_config.yml +++ b/etc/generate_subtasks_config.yml @@ -24,6 +24,7 @@ build_variant_large_distro_exceptions: - enterprise-rhel-81-ppc64le - enterprise-rhel-82-arm64 - enterprise-rhel-83-s390x + - enterprise-rhel-90-64-bit - enterprise-suse12-64 - enterprise-suse12-s390x - enterprise-suse15-64 @@ -38,6 +39,7 @@ build_variant_large_distro_exceptions: - rhel70 - rhel80 - rhel-82-arm64 + - rhel90 - suse12 - suse15 - ubi8 diff --git a/etc/repo_config.yaml b/etc/repo_config.yaml index d5bfee8811c..5414c81ae0c 100644 --- a/etc/repo_config.yaml +++ b/etc/repo_config.yaml @@ -105,6 +105,14 @@ repos: repos: - yum/redhat/8/mongodb-org - yum/redhat/8Server/mongodb-org + - name: rhel90 + type: rpm + edition: org + bucket: repo.mongodb.org + repos: + - yum/redhat/9/mongodb-org + - yum/redhat/9Server/mongodb-org + - name: amazon type: rpm @@ -339,6 +347,14 @@ repos: - yum/redhat/8/mongodb-enterprise - yum/redhat/8Server/mongodb-enterprise + - name: rhel90 + type: rpm + edition: enterprise + bucket: repo.mongodb.com + repos: + - yum/redhat/9/mongodb-enterprise + - yum/redhat/9Server/mongodb-enterprise + - name: amazon type: rpm edition: enterprise |