puppet-module-clustershell
Table of Contents
Description
This module will manage ClusterShell
Setup
What clustershell affects
This module will install the clustershell packages and manage the clustershell configs.
Setup Requirements
For systems with yum
package manager there is a dependency on puppetlabs/yumrepo_core.
If genders support is enabled there is a soft dependency on treydock/genders
Usage
Install clustershell and define groups in local.cfg:
class { '::clustershell':
groupmembers => {
compute => {
group => 'compute',
member => 'node[00-99]',
}
login => {
group => 'login',
member => 'login[01-02]',
}
},
}
The equivalent in hiera would be:
clustershell::groupmembers:
compute:
group: 'compute'
member: 'node[00-99]'
login:
group: 'login'
member: 'login[01-02]'
Enable SLURM groups and make them the default:
class { '::clustershell':
default_group_source => 'slurm',
include_slurm_groups => true,
}
Enable genders groups and make them the default:
class { '::clustershell':
default_group_source => 'genders',
include_genders_groups => true,
}
Define groups via YAML group files:
class { '::clustershell':
group_yaml => {
'cluster' => {
'data' => {
'local' => {
'compute' => 'node[00-99]',
'login' => 'login[01-02]',
}
}
}
}
}
Defining group YAML files via defined type:
::clustershell::group_yaml { 'cluster':
data => {
'local' => {
'compute' => 'node[00-99]',
'login' => 'login[01-02]',
}
}
}
Can also supply custom templates to clustershell::group_yaml
::clustershell::group_yaml { 'cluster':
content => template('profile/clustershell/cluster.yaml.erb'),
}
Example of defining custom group source:
::clustershell::group_source { 'batch':
ensure => 'present',
section => 'job,moabrsv',
map => 'clustershell-batch-mapper.py $SOURCE map $GROUP',
list => 'clustershell-batch-mapper.py $SOURCE list',
}