summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Chen <johnchen456@gmail.com>2019-07-11 10:54:16 -0400
committerJohn Chen <johnchen456@gmail.com>2019-07-25 17:58:58 -0400
commit284630e3704be4be091154c5b7fe63c335e9d70c (patch)
tree327189b4f34c70417bb28090aa238f03323d076e
parent8f75d29d9c814da8c1fd66816a92ef667bc6820f (diff)
downloadmongo-284630e3704be4be091154c5b7fe63c335e9d70c.tar.gz
SERVER-37772 adding RHEL80 distro
-rw-r--r--buildscripts/package_test/.kitchen.yml5
-rwxr-xr-xbuildscripts/packager.py10
-rwxr-xr-xbuildscripts/packager_enterprise.py4
-rw-r--r--etc/evergreen.yml118
-rw-r--r--rpm/mongodb-enterprise-unstable.spec4
-rw-r--r--rpm/mongodb-enterprise.spec4
-rw-r--r--rpm/mongodb-org-unstable.spec4
-rw-r--r--rpm/mongodb-org.spec4
-rwxr-xr-xsrc/mongo/installer/compass/install_compass.in2
9 files changed, 141 insertions, 14 deletions
diff --git a/buildscripts/package_test/.kitchen.yml b/buildscripts/package_test/.kitchen.yml
index 3dc27c808b3..3ee7b703bda 100644
--- a/buildscripts/package_test/.kitchen.yml
+++ b/buildscripts/package_test/.kitchen.yml
@@ -60,6 +60,11 @@ platforms:
image_id: ami-60a1e808
transport:
username: root
+ - name: rhel80
+ driver:
+ image_id: ami-0c322300a1dd5dc79
+ transport:
+ username: ec2-user
- name: suse11
driver:
image_id: ami-7f2e6015
diff --git a/buildscripts/packager.py b/buildscripts/packager.py
index 6d951d04b4f..582d10aa22d 100755
--- a/buildscripts/packager.py
+++ b/buildscripts/packager.py
@@ -328,7 +328,7 @@ class Distro(object):
if re.search("(suse)", self.dname):
return ["suse11", "suse12", "suse15"]
elif re.search("(redhat|fedora|centos)", self.dname):
- return ["rhel70", "rhel71", "rhel72", "rhel62", "rhel55", "rhel67"]
+ return ["rhel80", "rhel70", "rhel71", "rhel72", "rhel62", "rhel55", "rhel67"]
elif self.dname in ['amazon', 'amazon2']:
return [self.dname]
elif self.dname == 'ubuntu':
@@ -841,12 +841,8 @@ def make_rpm(distro, build_os, arch, spec, srcdir): # pylint: disable=too-many-
# Versions of RPM after 4.4 ignore our BuildRoot tag so we need to
# specify it on the command line args to rpmbuild
- #
- # Current versions of RHEL at the time of this writing (RHEL < 8) patch in
- # the old behavior so that our BuildRoot tag still works on these versions.
- #
- # Probably need to add RHEL 8 to this when we start building for it
- if distro.name() == "suse" and distro.repo_os_version(build_os) == "15":
+ if ((distro.name() == "suse" and distro.repo_os_version(build_os) == "15")
+ or (distro.name() == "redhat" and distro.repo_os_version(build_os) == "8")):
flags.extend([
"--buildroot",
os.path.join(topdir, "BUILDROOT"),
diff --git a/buildscripts/packager_enterprise.py b/buildscripts/packager_enterprise.py
index 9fbc2f0031b..a8ebbd06286 100755
--- a/buildscripts/packager_enterprise.py
+++ b/buildscripts/packager_enterprise.py
@@ -116,7 +116,7 @@ class EnterpriseDistro(packager.Distro):
def build_os(self, arch): # pylint: disable=too-many-branches
"""Return the build os label in the binary package to download.
- The labels "rhel57", "rhel62", "rhel67" and "rhel70" are for redhat,
+ The labels "rhel57", "rhel62", "rhel67", "rhel70", "rhel80" are for redhat,
the others are delegated to the super class.
"""
# pylint: disable=too-many-return-statements
@@ -140,7 +140,7 @@ class EnterpriseDistro(packager.Distro):
return []
if re.search("(redhat|fedora|centos)", self.dname):
- return ["rhel70", "rhel62", "rhel57"]
+ return ["rhel80", "rhel70", "rhel62", "rhel57"]
return super(EnterpriseDistro, self).build_os(arch)
# pylint: enable=too-many-return-statements
diff --git a/etc/evergreen.yml b/etc/evergreen.yml
index 045259957dc..51e7703676c 100644
--- a/etc/evergreen.yml
+++ b/etc/evergreen.yml
@@ -382,6 +382,7 @@ variables:
- enterprise-rhel-71-ppc64le-inmem
- enterprise-rhel-72-s390x
- enterprise-rhel-72-s390x-inmem
+ - enterprise-rhel-80-64-bit
- enterprise-suse12-64
- enterprise-suse15-64
- enterprise-suse12-s390x
@@ -10831,6 +10832,68 @@ buildvariants:
- ubuntu1604-packer
- name: .publish
+- &enterprise-rhel-80-64-bit-template
+ name: enterprise-rhel-80-64-bit
+ display_name: "Enterprise RHEL 8.0"
+ modules:
+ - enterprise
+ run_on:
+ - rhel80-build
+ expansions:
+ push_path: linux
+ push_bucket: downloads.10gen.com
+ push_name: linux
+ push_arch: x86_64-enterprise-rhel80
+ mh_target: dist-mh
+ compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ multiversion_platform: rhel80
+ multiversion_edition: enterprise
+ has_packages: true
+ packager_script: packager_enterprise.py
+ packager_arch: x86_64
+ packager_distro: rhel80
+ repo_edition: enterprise
+ scons_cache_scope: shared
+ tooltags: "ssl sasl gssapi"
+ build_mongoreplay: true
+ display_tasks:
+ - *dbtest
+ - *unittests
+ tasks:
+ - name: compile_all_run_unittests_TG
+ distros:
+ - rhel80-build
+ - name: compile_benchmarks
+ distros:
+ - rhel80-build
+ - name: .aggfuzzer
+ - name: audit
+ - name: auth_audit_gen
+ - name: auth_gen
+ - name: .benchmarks
+ - name: causally_consistent_jscore_txns_passthrough
+ - name: .encrypt !.sharding !.replica_sets !.aggregation !.jscore
+ - name: external_auth
+ - name: .jscore .common !.compat !.decimal !.sharding
+ - name: jsCore_txns_large_txns_format
+ - name: .jstestfuzz .common
+ - name: .logical_session_cache .one_sec
+ - name: replica_sets_auth_gen
+ - name: replica_sets_jscore_passthrough
+ - name: .replica_sets .multi_oplog
+ - name: sasl
+ - name: search_beta
+ - name: search_beta_auth
+ - name: search_beta_ssl
+ - name: sharding_auth_audit_gen
+ - name: sharding_auth_gen
+ - name: snmp
+ - name: .stitch
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: .publish
+
# This variant is to intentionally test uncommon features nightly
- <<: *enterprise-rhel-70-64-bit-template
name: enterprise-rhel-70-64-bit-kitchen-sink
@@ -11008,6 +11071,61 @@ buildvariants:
- ubuntu1604-packer
- name: .publish
+- name: rhel80
+ display_name: SSL RHEL 8.0
+ run_on:
+ - rhel80-build
+ batchtime: 1440 # 1 day
+ expansions:
+ push_path: linux
+ push_bucket: downloads.mongodb.org
+ push_name: linux
+ push_arch: x86_64-rhel80
+ compile_flags: --ssl MONGO_DISTMOD=rhel80 -j$(grep -c ^processor /proc/cpuinfo) --release --variables-files=etc/scons/mongodbtoolchain_v3_gcc.vars
+ multiversion_platform: rhel80
+ multiversion_edition: targeted
+ has_packages: true
+ packager_script: packager.py
+ packager_arch: x86_64
+ packager_distro: rhel80
+ repo_edition: org
+ scons_cache_scope: shared
+ tooltags: "ssl"
+ build_mongoreplay: true
+ display_tasks:
+ - *dbtest
+ - *unittests
+ tasks:
+ - name: compile_all_run_unittests_TG
+ distros:
+ - rhel80-build
+ - name: aggregation
+ - name: .auth !.audit !.multiversion
+ - name: causally_consistent_jscore_txns_passthrough
+ - name: .misc_js
+ - name: .concurrency .common
+ distros:
+ - rhel80-build
+ - name: concurrency_replication_causal_consistency
+ distros:
+ - rhel80-build
+ - name: disk_wiredtiger
+ - name: free_monitoring
+ - name: .jscore .common
+ - name: .jstestfuzz .common
+ - name: .logical_session_cache .one_sec
+ - name: multiversion
+ - name: replica_sets
+ - name: .replica_sets .common
+ - name: .sharding .txns
+ - name: .sharding .common !.op_query !.csrs
+ - name: .ssl
+ - name: .stitch
+ - name: package
+ distros:
+ - ubuntu1604-packer
+ - name: .publish
+
# This variant compiles on RHEL 7.0 and runs tests on RHEL 7.6
- name: rhel76_compile_rhel70
display_name: RHEL 7.0/7.6 Cross-ABI
diff --git a/rpm/mongodb-enterprise-unstable.spec b/rpm/mongodb-enterprise-unstable.spec
index 68086ed8b6c..7631374b603 100644
--- a/rpm/mongodb-enterprise-unstable.spec
+++ b/rpm/mongodb-enterprise-unstable.spec
@@ -15,8 +15,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%if 0%{?suse_version}
%define timezone_pkg timezone
+%define python_pkg python
%else
%define timezone_pkg tzdata
+%define python_pkg python2
%endif
%description
@@ -40,7 +42,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server (enterprise)
Group: Applications/Databases
-Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi, %{timezone_pkg}
+Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi, %{timezone_pkg}, %{python_pkg}
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
BuildRequires: systemd
diff --git a/rpm/mongodb-enterprise.spec b/rpm/mongodb-enterprise.spec
index 517eb60760f..e270d707c6b 100644
--- a/rpm/mongodb-enterprise.spec
+++ b/rpm/mongodb-enterprise.spec
@@ -16,8 +16,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%if 0%{?suse_version}
%define timezone_pkg timezone
+%define python_pkg python
%else
%define timezone_pkg tzdata
+%define python_pkg python2
%endif
%description
@@ -41,7 +43,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server (enterprise)
Group: Applications/Databases
-Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi, %{timezone_pkg}
+Requires: openssl, net-snmp, cyrus-sasl, cyrus-sasl-plain, cyrus-sasl-gssapi, %{timezone_pkg}, %{python_pkg}
Conflicts: mongo-10gen, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools
Obsoletes: mongo-10gen-enterprise-server
Provides: mongo-10gen-enterprise-server
diff --git a/rpm/mongodb-org-unstable.spec b/rpm/mongodb-org-unstable.spec
index 22c7e3972f3..71495992578 100644
--- a/rpm/mongodb-org-unstable.spec
+++ b/rpm/mongodb-org-unstable.spec
@@ -14,8 +14,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%if 0%{?suse_version}
%define timezone_pkg timezone
+%define python_pkg python
%else
%define timezone_pkg tzdata
+%define python_pkg python2
%endif
%description
@@ -39,7 +41,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server
Group: Applications/Databases
-Requires: openssl, %{timezone_pkg}
+Requires: openssl, %{timezone_pkg}, %{python_pkg}
Conflicts: mongo-10gen, mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org, mongodb-org-mongos, mongodb-org-server, mongodb-org-shell, mongodb-org-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
%description server
diff --git a/rpm/mongodb-org.spec b/rpm/mongodb-org.spec
index c8e9cf0a907..e782731e776 100644
--- a/rpm/mongodb-org.spec
+++ b/rpm/mongodb-org.spec
@@ -16,8 +16,10 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
%if 0%{?suse_version}
%define timezone_pkg timezone
+%define python_pkg python
%else
%define timezone_pkg tzdata
+%define python_pkg python2
%endif
%description
@@ -41,7 +43,7 @@ This metapackage will install the mongo shell, import/export tools, other client
%package server
Summary: MongoDB database server
Group: Applications/Databases
-Requires: openssl, %{timezone_pkg}
+Requires: openssl, %{timezone_pkg}, %{python_pkg}
Conflicts: mongo-10gen-enterprise, mongo-10gen-enterprise-server, mongo-10gen-unstable, mongo-10gen-unstable-enterprise, mongo-10gen-unstable-enterprise-mongos, mongo-10gen-unstable-enterprise-server, mongo-10gen-unstable-enterprise-shell, mongo-10gen-unstable-enterprise-tools, mongo-10gen-unstable-mongos, mongo-10gen-unstable-server, mongo-10gen-unstable-shell, mongo-10gen-unstable-tools, mongo18-10gen, mongo18-10gen-server, mongo20-10gen, mongo20-10gen-server, mongodb, mongodb-server, mongodb-dev, mongodb-clients, mongodb-10gen, mongodb-10gen-enterprise, mongodb-10gen-unstable, mongodb-10gen-unstable-enterprise, mongodb-10gen-unstable-enterprise-mongos, mongodb-10gen-unstable-enterprise-server, mongodb-10gen-unstable-enterprise-shell, mongodb-10gen-unstable-enterprise-tools, mongodb-10gen-unstable-mongos, mongodb-10gen-unstable-server, mongodb-10gen-unstable-shell, mongodb-10gen-unstable-tools, mongodb-enterprise, mongodb-enterprise-mongos, mongodb-enterprise-server, mongodb-enterprise-shell, mongodb-enterprise-tools, mongodb-nightly, mongodb-org-unstable, mongodb-org-unstable-mongos, mongodb-org-unstable-server, mongodb-org-unstable-shell, mongodb-org-unstable-tools, mongodb-stable, mongodb18-10gen, mongodb20-10gen, mongodb-enterprise-unstable, mongodb-enterprise-unstable-mongos, mongodb-enterprise-unstable-server, mongodb-enterprise-unstable-shell, mongodb-enterprise-unstable-tools
Obsoletes: mongo-10gen-server
Provides: mongo-10gen-server
diff --git a/src/mongo/installer/compass/install_compass.in b/src/mongo/installer/compass/install_compass.in
index ed59f280345..19bdce54a9d 100755
--- a/src/mongo/installer/compass/install_compass.in
+++ b/src/mongo/installer/compass/install_compass.in
@@ -132,7 +132,7 @@ def is_supported_distro():
if (distro_name == 'Ubuntu' and float(version_number) >= 14.04):
return True
- if ((distro_name == 'Red Hat Enterprise Linux Server' or 'CentOS' in distro_name)
+ if (('Red Hat Enterprise Linux' in distro_name or 'CentOS' in distro_name)
and (float(version_number) >= 7.0)):
return True