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 <cws...@physics.wisc.edu>
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]

Reply via email to