STRIGGER : déclencher une action sur un événement Slurm

L'outil Slurm strigger permet de déclencher l'exécution d'un script sur des événements tels que :

Sur Summit2, l'usage typique de strigger est la notification par mail aux administrateurs système de la panne d'un nœud (bascule dans l'état Down). Le script correspondant s'exécute sur le serveur où le démon slurmctld est actif, à savoir sur la frontale du cluster (Summit2, Ompfront, Fuxi) et non pas sur un nœud de calcul. Il reçoit en argument une liste de nœuds ou un identificateur de job suivant le type de 'trigger' défini. Voir man strigger pour plus d'informations.

1. Vérifier la présence d'un trigger

Pour vérifier si un trigger est défini, saisir la commande :

strigger --get

qui devrait afficher sur Summit2 :

summit2:~> strigger --get
TRIG_ID RES_TYPE   RES_ID TYPE                                OFFSET USER     PROGRAM
    174 node            * down                                     0 slurm    /usr/local/sbin/slurm_admin_notify

2. Activer le trigger de notification de 'nœud Down'

Pour définir un trigger, la commande strigger --set --node doit être exécutée par l'utilisateur slurm : il est donc impératif de se connecter en tant que root sur Summit2 et de s'identifier à l'utilisateur slurm par su - slurm. Il suffit ensuite de définir le trigger avec la commande :

slurm@summit2:~> strigger --set --node --down --program=/usr/local/sbin/slurm_admin_notify

Le script slurm_admin_notify qui se charge d'envoyer un mail à sila lorsqu'un nœud bascule dans l'état Down est le suivant :

   1 #!/bin/bash
   2 # Submit trigger for next event
   3 PATH=/bin:/usr/bin:/usr/local/slurm/bin
   4 
   5 strigger --set --node --down \
   6          --program=/usr/local/sbin/slurm_admin_notify
   7 
   8 # Notify administrator by e-mail
   9 sinfo --nodes=$* -R -o "%40E %10u %25H %40N"| mail calcul@aero.obs-mip.fr -s "[$(hostname)] NodesDown:$*"

Notez que le script ne s'exécute qu'une seule fois par événement et qu'il doit réarmer le trigger (ligne 5) pour la prise en compte des futurs événements 'nœuds Down'. La ligne 9 s'occupe d'envoyer le mail à sila en insérant dans le corps du message le résultat de la commande sinfo -R appliquée à la liste de nœuds (au format n[X..Y]) passée en argument.

3. Supprimer le trigger d'événement 'nœud Down'

Pour désactiver le trigger précédemment défini, il suffit de saisir la commande :

strigger --clear --id <TRIG_ID>

<TRIG_ID> est le numéro d'identification du trigger affiché par la commande strigger --get.


CatégoriePageAdmin, CatégorieDocSlurm

WikiSummit2: SlurmTrigger (dernière édition le 2013-10-11 12:13:43 par DidierGazen)