From 6ba1e2979d4bd7f715c764f94b449215e7de7d26 Mon Sep 17 00:00:00 2001 From: JEAN-FRANCOIS GUILLAUME Date: Fri, 13 May 2022 17:19:23 +0200 Subject: [PATCH] adding slurmd service --- glicid/services/parallel.scm | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/glicid/services/parallel.scm b/glicid/services/parallel.scm index 9eccecf..2c73209 100644 --- a/glicid/services/parallel.scm +++ b/glicid/services/parallel.scm @@ -216,3 +216,81 @@ ) ) +; +; slurmd +; +(define-record-type* + slurmd-configuration make-slurmd-configuration + slurmd-configuration? + (slurm slurm-configuration-slurm + (default slurm) + ) + (slurmd-conf slurmd-slurmd-conf + (default (file-append slurm "/etc/slurm/slurm.conf")) + ) + (log-file slurmd-log-file + (default "/var/log/slurmd.log") + ) + (slurmctld-host slurmd-slurmctld-host + (default #f) ; string slurmctld-host[:port] + ) + (log-level slurmd-log-level + (default #f) ; string Verbose mode. Multiple -v's increase verbosity + ) +) + +(define slurmd-service + (match-lambda + (($ slurm slurmd-conf slurmctld-host log-file log-level) + (list + (shepherd-service + (provision '(slurmd) ) + (documentation "Run slurmd.") + (requirement '(user-processes)) + (respawn? #t) + (start #~(make-forkexec-constructor + (list + #$(file-append slurm "/sbin/slurmd") + "-D" + #$@(if slurmctld-host + (list (string-append "--conf-server" slurmctld-host)) + (list (string-append "-f" slurmd-conf)) + ) + #$@(if log-level + (list log-level) + '() + ) + + ) + #:log-file #$log-file + )) + (stop #~(make-kill-destructor)) + ) + ) + ) + ) +) + +(define %slurmd-activation + (with-imported-modules '((guix build utils)) + #~(begin + (use-modules (guix build utils)) + (mkdir-p "/var/log/slurm") + (mkdir-p "/var/lib/slurm-archives") + (mkdir-p "/var/lib/slurm") + #t + ) + ) +) + +(define slurmd-service-type + (service-type (name 'slurmd) + (extensions + (list + (service-extension shepherd-root-service-type slurmd-service) + (service-extension activation-service-type (const %slurmd-activation)) + ) + ) + (description "Run slurmd") + ) +)