adding slurmd service

This commit is contained in:
Jean-François GUILLAUME 2022-05-13 17:19:23 +02:00
parent ef5b474a75
commit 6ba1e2979d

View file

@ -216,3 +216,81 @@
) )
) )
;
; slurmd
;
(define-record-type* <slurmd-configuration>
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
(($ <slurmd-configuration> 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")
)
)