grycap.slurm

Licence CI

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

À propos du projet

Install SLURM cluster

Installer
ansible-galaxy install grycap.slurm
Licence
apache-2.0
Téléchargements
3k
Propriétaire
Grid y Computación de Altas Prestaciones