From 1d456b37cabefe6caa94cab22e952622c0d26c1f Mon Sep 17 00:00:00 2001 From: Efraim Flashner Date: Tue, 1 Dec 2020 21:15:21 +0200 Subject: octopus: add slurm services --- gn/deploy/octopus.scm | 98 +++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 91 insertions(+), 7 deletions(-) (limited to 'gn/deploy') diff --git a/gn/deploy/octopus.scm b/gn/deploy/octopus.scm index f707462..9d1e7d3 100644 --- a/gn/deploy/octopus.scm +++ b/gn/deploy/octopus.scm @@ -2,10 +2,70 @@ (use-modules (gnu) (gn services science) - ) -(use-service-modules ssh web) + (gn packages parallel)) +(use-service-modules networking ssh web) (use-package-modules certs tmux screen vim) +(define %slurm.conf + (plain-file "slurm.conf" + (string-append +"ClusterName=linux +ControlMachine=octopus + +SlurmUser=slurm +#SlurmdUser=root +SlurmctldPort=6817 +SlurmdPort=6818 +AuthType=auth/munge +StateSaveLocation=/var/spool/slurmd/ctld +SlurmdSpoolDir=/var/spool/slurmd +SwitchType=switch/none +MpiDefault=none +SlurmctldPidFile=/var/run/slurm/slurmctld.pid +SlurmdPidFile=/var/run/slurm/slurmd.pid +ProctrackType=proctrack/pgid +ReturnToService=1 + +# TIMERS +InactiveLimit=0 +MinJobAge=300 +KillWait=30 +# + +# LOGGING +SlurmctldDebug=3 +SlurmctldLogFile=/var/log/slurm/slurmctld.log +SlurmdDebug=3 +SlurmdLogFile=/var/log/slurm/slurmd.log +JobCompType=jobcomp/none + +# COMPUTE NODES +NodeName=octopus CPUs=1 Boards=1 SocketsPerBoard=1 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=1024 +PartitionName=debug Nodes=ALL Default=YES MaxTime=INFINITE State=UP"))) + +(define %cgroup.conf + (plain-file "cgroup.conf" + (string-append +"### +# Slurm cgroup support configuration file +### +CgroupAutomount=yes +ConstrainCores=yes +#"))) + +(define %slurmdbd.conf + (plain-file "slurmdbd.conf" + (string-append +"AuthType=auth/munge +AuthInfo=/var/run/munge/munge.socket.2 +DbdHost=localhost +StorageHost=localhost +StorageType=accounting_storage/none +StorageUser=slurm +PidFile=/var/run/slurm/slurmdbd.pid +LogFile=/var/log/slurm/slurmdbd.log +SlurmUser=slurm"))) + (operating-system (host-name "octopus") (timezone "Etc/UTC") @@ -34,7 +94,9 @@ ;(file-system ; (device "octopus01:/home") ; (mount-point "/home") - ; (type "nfs")) + ; (type "nfs") + ; (mount? #f) ; is this necessary? + ; (check? #f)) ) %base-file-systems)) @@ -48,13 +110,13 @@ (comment "Efraim Flashner") (uid 1000) (group "users") - (supplementary-groups '("wheel"))) + (supplementary-groups '("wheel" "kvm"))) (user-account (name "wrk") (comment "Pjotr Prins") (uid 502) (group "users") - (supplementary-groups '("wheel"))) + (supplementary-groups '("wheel" "kvm"))) %base-user-accounts)) @@ -75,8 +137,30 @@ ; (term "vt100") ; (tty "ttyS0"))) - (service openssh-service-type) + (service openssh-service-type + (openssh-configuration + (authorized-keys + `(("efraimf" ,(local-file "/home/efraimf/.ssh/id_rsa.pub")))))) (service munge-service-type) - ) + (service slurmd-service-type + (slurm-configuration + (package slurm-18.08))) + (service slurmdbd-service-type + (slurm-configuration + (package slurm-18.08) + (run-slurmdbd? #t))) + (service slurmctld-service-type + (slurm-configuration + (package slurm-18.08) + (run-slurmctld? #t))) + + ;; Some slurm configuration files + (simple-service 'slurm-conf etc-service-type + `(("slurm/slurm.conf" ,%slurm.conf) + ("slurm/cgroup.conf" ,%cgroup.conf) + ("slurm/slurmdbd.conf" ,%slurmdbd.conf))) + + (service dhcp-client-service-type) + (service openntpd-service-type)) %base-services))) -- cgit v1.2.3