grycap.slurm
SLURM Cluster Role
This role helps you install a SLURM cluster.
Role Variables
Here are the variables you can use with this role along with a short description:
- slurm_version: The version of SLURM to install (for Red Hat systems).
- slurm_mirrors: A list of server URLs to download SLURM code from.
- slurm_type_of_node: The type of node you want to install (either 'front' or 'wn').
- slurm_server_name: The name of your SLURM server.
- slurm_server_ip: The IP address of your SLURM server.
- slurm_vnode_prefix: The prefix for SLURM working nodes.
- slurm_wn_nodenames: A list containing the names of working nodes.
- slurm_wn_cpus: The number of CPUs for the working nodes.
- slurm_wn_mem: The amount of memory for the working nodes (in MB; if set to 0, it's not specified).
- slurm_wn_gres: Resources for the working nodes.
- slurm_wn_gres_tpes: Types of resources for the working nodes.
- slurm_wn_gres_conf: Configuration file for resources.
- user: The default user for SSH and SLURM management.
- drmaa_lib_install: Whether to install the DRMAA library (default: false).
- drmaa_lib_version: The version of the DRMAA library to install.
- slurm_default_conf_options: Default configuration settings for SLURM (including authentication and port settings).
- slurm_conf_options: User-specific SLURM configuration options.
- slurm_cgroup_conf_options: Configuration options for cgroups.
Example Playbook
Here’s how to install a SLURM cluster using this role:
For the server:
- hosts: server
roles:
- { role: 'grycap.slurm', slurm_type_of_node: 'front', slurm_server_ip: '{{ansible_default_ipv4}}', slurm_wn_nodenames: "{{ groups['wns']|map('extract', hostvars, 'ansible_hostname')|list }}" }
For the working nodes (WNs):
- hosts: wns
roles:
- { role: 'grycap.slurm', slurm_type_of_node: 'wn', slurm_server_ip: "{{hostvars['server']['ansible_default_ipv4']}}" }
Contributing to the Role
To maintain clean code, direct changes to the master branch are not allowed. To contribute, create a new branch, make your changes, and then submit a pull request.
Thank you!