summaryrefslogtreecommitdiff
path: root/sys-cluster/slurm/files/slurmdbd.initd
diff options
context:
space:
mode:
Diffstat (limited to 'sys-cluster/slurm/files/slurmdbd.initd')
-rw-r--r--sys-cluster/slurm/files/slurmdbd.initd66
1 files changed, 66 insertions, 0 deletions
diff --git a/sys-cluster/slurm/files/slurmdbd.initd b/sys-cluster/slurm/files/slurmdbd.initd
new file mode 100644
index 000000000000..296afaf9421c
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmdbd.initd
@@ -0,0 +1,66 @@
+#!/sbin/openrc-run
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+extra_commands="reload"
+
+[[ -f /etc/conf.d/slurm ]] && . /etc/conf.d/slurm
+
+depend() {
+ local _need
+ [[ ${SLURM_USE_MUNGE} -ne 0 ]] && _need="${_need} munged"
+ [[ ${SLURM_USE_YPBIND} -ne 0 ]] && _need="${_need} ypbind"
+ after logger
+ need ${_need}
+}
+
+create_folder_and_set_permission() {
+ folder=${1}
+ # Fix permissions (/tmp is wiped at boot)
+ if [[ "${folder}" == "/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /tmp"
+ exit
+ fi
+ if [[ "${folder}" == "/var/tmp" ]]; then
+ eerror "SLURM: folder == ${folder} == /var/tmp"
+ exit
+ fi
+ checkpath -d -o slurm:slurm ${folder}
+}
+
+checkconfig() {
+ if [ ! -e "/etc/slurm/slurmdbd.conf" ]; then
+ eerror "Missing config /etc/slurm/slurmdbd.conf"
+ return 1
+ fi
+
+ # Make sure folders exists
+ . /etc/slurm/slurm.conf
+ folders=(${SlurmdSpoolDir} `dirname ${SlurmctldLogFile}` `dirname ${SlurmctldPidFile}` `dirname ${SlurmdLogFile}` `dirname ${SlurmdPidFile}` ${SlurmdSpoolDir} ${StateSaveLocation})
+ for folder in ${folders[*]}; do
+ create_folder_and_set_permission ${folder}
+ done
+}
+
+start() {
+ ebegin "Starting slurmdb daemon"
+ checkconfig
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmdbd.pid \
+ --user slurm \
+ --group slurm \
+ --exec /usr/sbin/slurmdbd -- ${SLURMD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurmdb daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmdbd.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurmdb daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmdbd.pid
+ eend $?
+}