cookbooks/aws-parallelcluster-platform/resources/install_packages/install_packages_rocky8.rb (42 lines of code) (raw):

# frozen_string_literal: true # Copyright:: 2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). # You may not use this file except in compliance with the License. # A copy of the License is located at # # http://aws.amazon.com/apache2.0/ # # or in the "LICENSE.txt" file accompanying this file. # This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, express or implied. # See the License for the specific language governing permissions and limitations under the License. provides :install_packages, platform: 'rocky' do |node| node['platform_version'].to_i >= 8 end use 'partial/_install_packages_common.rb' use 'partial/_install_packages_rhel_amazon.rb' action :install_kernel_source do # Previous releases are moved into a vault area once a new minor release version is available for at least a week. # https://wiki.rockylinux.org/rocky/repo/#notes-on-devel bash "Install kernel source" do user 'root' code <<-INSTALL_KERNEL_SOURCE package="#{kernel_source_package}-#{kernel_source_package_version}" # try to install kernel source for a specific release version dnf install -y ${package} --releasever #{node['platform_version']} if [ $? -ne 0 ]; then # Previous releases are moved into a vault area once a new minor release version is available for at least a week. # https://wiki.rockylinux.org/rocky/repo/#notes-on-devel base_os_package_url="https://dl.rockylinux.org/vault/rocky/#{node['platform_version']}/BaseOS/#{node['kernel']['machine']}/os/Packages/k/${package}.rpm" appstream_package_url="https://dl.rockylinux.org/vault/rocky/#{node['platform_version']}/AppStream/#{node['kernel']['machine']}/os/Packages/k/${package}.rpm" base_os_status_code=$(curl --write-out '%{http_code}' --silent --output /dev/null ${base_os_package_url}) appstream_status_code=$(curl --write-out '%{http_code}' --silent --output /dev/null ${appstream_package_url}) set -e if [ $base_os_status_code != 404 ]; then dnf install -y ${base_os_package_url} elif [ $appstream_status_code != 404 ]; then dnf install -y ${appstream_package_url} fi fi dnf clean all INSTALL_KERNEL_SOURCE end unless on_docker? end def kernel_source_package_version node['kernel']['release'] end def default_packages # environment-modules required by EFA, Intel MPI and ARM PL # iptables needed for IMDS setup packages = %w(vim ksh tcsh zsh openssl-devel ncurses-devel pam-devel net-tools openmotif-devel libXmu-devel hwloc-devel libdb-devel tcl-devel automake autoconf libtool httpd boost-devel mlocate R atlas-devel blas-devel libffi-devel dkms libedit-devel jq libical-devel sendmail libxml2-devel libglvnd-devel libgcrypt-devel libevent-devel glibc-static bind-utils iproute NetworkManager-config-routing-rules python3 python3-pip iptables libcurl-devel yum-plugin-versionlock moreutils curl environment-modules gcc gcc-c++ bzip2 dos2unix) packages.append("coreutils") unless on_docker? # on docker image coreutils conflict with coreutils-single, already installed on it packages end