clustershell

pdk
clustershell Puppet module

Trey Dockendorf

treydock

3,411 downloads

308 latest version

5.0 quality score

Version information

  • 0.3.1 (latest)
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
released Feb 17th 2021
This version is compatible with:
  • Puppet Enterprise 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x, 2017.3.x
  • Puppet >= 5.0.0 < 8.0.0
  • CentOS
    ,
    OracleLinux
    ,
    RedHat
    ,
    Scientific
    ,
    Debian
    ,
    Ubuntu

Start using this module

Tags: hpc, nodeset, clush

Documentation

treydock/clustershell — version 0.3.1 Feb 17th 2021

puppet-module-clustershell

Puppet Forge Build Status

Table of Contents

  1. Description
  2. Setup - The basics of getting started with clustershell
  3. Usage - Configuration options and additional functionality
  4. Reference - Module reference

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 using Puppet >= 6.0 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':
  groups => [
    'compute: node[00-99]',
    'login: 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',
}

Reference

http://treydock.github.io/puppet-module-clustershell/