This is an automated email from the ASF dual-hosted git repository.
iwasakims pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/bigtop.git
The following commit(s) were added to refs/heads/master by this push:
new 82bc6c7c7 BIGTOP-3991. Add Rocky Linux 9 support (#1235)
82bc6c7c7 is described below
commit 82bc6c7c7f5395eb6faeb03be13abb3597d574db
Author: cwseys <[email protected]>
AuthorDate: Sun Feb 18 07:00:42 2024 -0600
BIGTOP-3991. Add Rocky Linux 9 support (#1235)
---
bigtop_toolchain/bin/puppetize.sh | 10 ++++++++++
bigtop_toolchain/manifests/packages.pp | 8 ++++++--
docker/bigtop-slaves/build.sh | 9 +++++++--
provisioner/docker/config_rockylinux-9.yaml | 24 ++++++++++++++++++++++++
4 files changed, 47 insertions(+), 4 deletions(-)
diff --git a/bigtop_toolchain/bin/puppetize.sh
b/bigtop_toolchain/bin/puppetize.sh
index 8227737e5..dcae98d1b 100755
--- a/bigtop_toolchain/bin/puppetize.sh
+++ b/bigtop_toolchain/bin/puppetize.sh
@@ -61,6 +61,16 @@ case ${ID}-${VERSION_ID} in
# As a workaround for that, enable the former here in advance of
running the Puppet manifests.
dnf config-manager --set-enabled powertools
;;
+ rocky-9*)
+ rpm -ivh
https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm
+ dnf -y check-update
+ dnf -y install glibc-langpack-en hostname diffutils sudo unzip wget
puppet procps-ng 'dnf-command(config-manager)'
+ # Install the module in the same way as Fedora 31 and CentOS 7 for
compatibility issues.
+ puppet module install puppetlabs-stdlib --version 4.12.0
+ # Enabling the PowerTools and EPEL repositories via Puppet doesn't
seem to work in some cases.
+ # As a workaround for that, enable the former here in advance of
running the Puppet manifests.
+ dnf config-manager --set-enabled crb
+ ;;
rhel-8*)
rpm -Uvh https://yum.puppet.com/puppet5-release-el-8.noarch.rpm
dnf -y check-update
diff --git a/bigtop_toolchain/manifests/packages.pp
b/bigtop_toolchain/manifests/packages.pp
index 38d51962c..5f8d62ad8 100644
--- a/bigtop_toolchain/manifests/packages.pp
+++ b/bigtop_toolchain/manifests/packages.pp
@@ -70,7 +70,9 @@ class bigtop_toolchain::packages {
"yasm"
]
- if ($operatingsystem == 'Fedora' or $operatingsystemmajrelease !~
/^[0-7]$/) {
+ if (/redhat|centos|rocky/ in downcase($operatingsystem) and
Integer($operatingsystemmajrelease) >= 9) {
+ $pkgs = $_pkgs + ['cmake']
+ } elsif ($operatingsystem == 'Fedora' or $operatingsystemmajrelease !~
/^[0-7]$/) {
$pkgs = concat($_pkgs, ["python2-devel", "libtirpc-devel", "cmake"])
} else {
$pkgs = concat($_pkgs, ["python-devel", "cmake3"])
@@ -397,7 +399,9 @@ class bigtop_toolchain::packages {
}
# download python 2.7.14 for openEuler docker slaves
- if $operatingsystem == 'openEuler' {
+ # and RHEL9 based distros
+ if $operatingsystem == 'openEuler'
+ or (/redhat|centos|rocky/ in $operatingsystem and
Integer($operatingsystemmajrelease) >= 9) {
exec { "download_python2.7":
cwd => "/usr/src",
command => "/usr/bin/wget
https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz
--no-check-certificate && /usr/bin/mkdir Python-2.7.14 && /bin/tar -xvzf
Python-2.7.14.tgz -C Python-2.7.14 --strip-components=1 && cd Python-2.7.14",
diff --git a/docker/bigtop-slaves/build.sh b/docker/bigtop-slaves/build.sh
index ffa61324c..0c440a923 100755
--- a/docker/bigtop-slaves/build.sh
+++ b/docker/bigtop-slaves/build.sh
@@ -69,8 +69,13 @@ case ${OS} in
fi
;;
rockylinux)
-
PUPPET_MODULES="/etc/puppetlabs/code/environments/production/modules/bigtop_toolchain"
- UPDATE_SOURCE="dnf clean all \&\& dnf updateinfo"
+ if [ "${VERSION_INT}" -ge "9" ]; then
+
PUPPET_MODULES="/etc/puppet/code/environments/production/modules/bigtop_toolchain"
+ UPDATE_SOURCE="dnf clean all \&\& dnf updateinfo"
+ else
+
PUPPET_MODULES="/etc/puppetlabs/code/environments/production/modules/bigtop_toolchain"
+ UPDATE_SOURCE="dnf clean all \&\& dnf updateinfo"
+ fi
;;
opensuse)
PUPPET_MODULES="/etc/puppet/modules/bigtop_toolchain"
diff --git a/provisioner/docker/config_rockylinux-9.yaml
b/provisioner/docker/config_rockylinux-9.yaml
new file mode 100644
index 000000000..274bd066f
--- /dev/null
+++ b/provisioner/docker/config_rockylinux-9.yaml
@@ -0,0 +1,24 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+docker:
+ memory_limit: "4g"
+ image: "bigtop/puppet:trunk-rockylinux-9"
+
+repo: "http://repos.bigtop.apache.org/releases/3.2.1/rockylinux/9/$basearch"
+distro: centos
+components: [hdfs, yarn, mapreduce]
+enable_local_repo: false
+smoke_test_components: [hdfs, yarn, mapreduce]