diff --git a/modules/upstream/slurm/data/os/RedHat.yaml b/modules/upstream/slurm/data/os/RedHat.yaml new file mode 100644 index 00000000..5f9360ab --- /dev/null +++ b/modules/upstream/slurm/data/os/RedHat.yaml @@ -0,0 +1,2 @@ +--- +slurm::python_version: 'python36' diff --git a/modules/upstream/slurm/manifests/init.pp b/modules/upstream/slurm/manifests/init.pp index d4469c75..275b1241 100644 --- a/modules/upstream/slurm/manifests/init.pp +++ b/modules/upstream/slurm/manifests/init.pp @@ -756,6 +756,7 @@ # PMIx settings -- see slurm::pmix class # Boolean $with_pmix = $slurm::params::with_pmix, + String $python_version = $slurm::params::python_version, # String $pmix_version = $slurm::params::pmix_version, # String $pmix_checksum_type = $slurm::params::pmix_src_checksum_type, # String $pmix_checksum = $slurm::params::pmix_src_checksum, diff --git a/modules/upstream/slurm/manifests/params.pp b/modules/upstream/slurm/manifests/params.pp index 0b51d54c..c92b4ec4 100644 --- a/modules/upstream/slurm/manifests/params.pp +++ b/modules/upstream/slurm/manifests/params.pp @@ -25,6 +25,10 @@ #### MODULE INTERNAL VARIABLES ######### # (Modify to adapt to unsupported OSes) ######################################### + # Python version for RedHat systems (e.g., 'python3', 'python36', 'python38') + # Value is overridden by slurm class parameter $python_version (from hiera) + $python_version = 'python3' + $pre_requisite_packages = $facts['os']['family'] ? { 'Redhat' => [ 'hwloc', 'hwloc-devel', 'hwloc-plugins', 'numactl', 'numactl-devel', @@ -38,7 +42,7 @@ 'libX11-devel', 'libssh2-devel', 'libevent-devel', - 'python3', 'python3-devel', + $python_version, "${python_version}-devel", ], default => [] } diff --git a/modules/upstream/slurm/manifests/pmix/build.pp b/modules/upstream/slurm/manifests/pmix/build.pp index 914b9f43..9afb0398 100644 --- a/modules/upstream/slurm/manifests/pmix/build.pp +++ b/modules/upstream/slurm/manifests/pmix/build.pp @@ -52,10 +52,11 @@ # with slurm-libmpi). # define slurm::pmix::build ( - Enum['present', 'absent'] $ensure = $slurm::params::ensure, - String $srcdir = $slurm::params::srcdir, - String $dir = $slurm::params::builddir, - Array $defines = [], + Enum['present', 'absent'] $ensure = $slurm::params::ensure, + String $srcdir = $slurm::params::srcdir, + String $dir = $slurm::params::builddir, + Array $defines = [], + String $python_version = $slurm::python_version, ) { include slurm::params @@ -91,13 +92,13 @@ ensure => 'present', } } - if !defined(Package['python3-devel']) { - package { 'python3-devel': + if !defined(Package["${python_version}-devel"]) { + package { "${python_version}-devel": ensure => 'present', } } Yum::Group[$slurm::params::groupinstall] -> Exec[$buildname] - Package['libevent-devel'] -> Package['python3-devel'] -> Exec[$buildname] + Package['libevent-devel'] -> Package["${python_version}-devel"] -> Exec[$buildname] $rpmdir = "${dir}/RPMS/${facts['os']['architecture']}" $rpms = prefix(suffix($slurm::params::pmix_rpms, "-${version}*.rpm"), "${rpmdir}/")