grycap.slurm
Rôle SLURM Cluster
Installer le cluster SLURM.
Variables du Rôle
Voici les variables que l'on peut passer à ce rôle, avec une brève description.
# Version de SLURM à installer (pour les systèmes RH)
slurm_version: 20.02.7
# Liste des serveurs pour télécharger le code de SLURM
slurm_mirrors: [ "http://ftpgrycap.i3m.upv.es/src/", "https://download.schedmd.com/slurm/" ]
# Type de nœud à installer : front ou wn
slurm_type_of_node: front
# Nom du serveur SLURM
slurm_server_name: slurmserver
# Adresse IP du serveur SLURM
slurm_server_ip: 127.0.0.1
# Préfixe à attribuer aux nœuds de travail SLURM
slurm_vnode_prefix: vnode-
# Liste des noms des nœuds de travail
slurm_wn_nodenames: []
# Nombre de CPUs des nœuds de travail
slurm_wn_cpus: 1
# Quantité de mémoire des nœuds de travail (en Mo, voir RealMemory). Si 0, cela n'est pas défini
slurm_wn_mem: 0
# Spécification GRES pour les nœuds de travail
slurm_wn_gres: ""
# Types de spécification GRES pour les nœuds de travail
slurm_wn_gres_tpes: ""
# Fichier de données de configuration GRES
slurm_wn_gres_conf: "AutoDetect=nvml"
# Utilisateur par défaut pour la gestion SSH et SLURM
# Utilisateur SSH par défaut
user: user1
# Installer la bibliothèque DRMAA
drmaa_lib_install: false
drmaa_lib_version: 1.0.7
# Options de configuration par défaut de SLURM
slurm_default_conf_options:
AuthType: auth/munge
CryptoType: crypto/munge
FirstJobId: 1
JobRequeue: 0
JobSubmitPlugins: all_partitions
ProctrackType: proctrack/pgid
ReturnToService: 2
SlurmctldPidFile: /var/run/slurmctld.pid
SlurmctldPort: 6817
SlurmdPidFile: /var/run/slurmctld.pid
SlurmdPort: 6818
SlurmdSpoolDir: /var/spool/slurm
SlurmUser: slurm
StateSaveLocation: /var/slurm/checkpoint
SwitchType: switch/none
TaskPlugin: task/none
InactiveLimit: 0
KillWait: 30
MessageTimeout: 30
MinJobAge: 300
SlurmctldTimeout: 30
SlurmdTimeout: 40
Waittime: 0
FastSchedule: 1
SchedulerType: sched/backfill
SelectType: select/linear
AccountingStorageType: accounting_storage/none
ClusterName: cluster
JobCompType: jobcomp/none
JobAcctGatherFrequency: 30
JobAcctGatherType: jobacct_gather/none
SlurmctldDebug: debug5
SlurmctldLogFile: /var/log/slurm/slurmctld.log
SlurmdDebug: debug5
SlurmdLogFile: /var/log/slurm/slurmd.log
# Options de configuration utilisateur SLURM
slurm_conf_options: {}
# Options de configuration SLURM pour cgroup
slurm_cgroup_conf_options:
CgroupPlugin: cgroup/v1
Exemple de Playbook
Voici un exemple de comment installer un cluster SLURM :
- 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 }}" }
- hosts: wns
roles:
- { role: 'grycap.slurm', slurm_type_of_node: 'wn', slurm_server_ip: "{{hostvars['server']['ansible_default_ipv4']}}" }
Contribuer au Rôle
Pour garder le code propre, il n'est pas possible de pousser des modifications vers la branche principale. Si vous souhaitez contribuer, vous devez créer une branche, télécharger vos modifications, puis créer une demande de tirage.
Merci