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]