summaryrefslogtreecommitdiff
path: root/sys-cluster/slurm/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /sys-cluster/slurm/files
reinit the tree, so we can have metadata
Diffstat (limited to 'sys-cluster/slurm/files')
-rw-r--r--sys-cluster/slurm/files/logrotate20
-rw-r--r--sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch69
-rw-r--r--sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch34
-rw-r--r--sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch99
-rw-r--r--sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch53
-rw-r--r--sys-cluster/slurm/files/slurm.confd6
-rw-r--r--sys-cluster/slurm/files/slurmctld.initd68
-rw-r--r--sys-cluster/slurm/files/slurmd.initd71
-rw-r--r--sys-cluster/slurm/files/slurmdbd.initd66
9 files changed, 486 insertions, 0 deletions
diff --git a/sys-cluster/slurm/files/logrotate b/sys-cluster/slurm/files/logrotate
new file mode 100644
index 000000000000..978a869eb993
--- /dev/null
+++ b/sys-cluster/slurm/files/logrotate
@@ -0,0 +1,20 @@
+/var/log/slurm/*.log {
+ weekly
+ compress
+ missingok
+ nocopytruncate
+ nocreate
+ nodelaycompress
+ nomail
+ notifempty
+ noolddir
+ rotate 5
+ sharedscripts
+ size=5M
+ create 640 slurm slurm
+ postrotate
+ /etc/init.d/slurmd reload
+ /etc/init.d/slurmctld reload
+ /etc/init.d/slurmdbd reload
+ endscript
+}
diff --git a/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch
new file mode 100644
index 000000000000..1e4a5b4fae3a
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-16.05.2-disable-sview.patch
@@ -0,0 +1,69 @@
+diff -urN slurm-16.05.2.orig/configure.ac slurm-16.05.2/configure.ac
+--- slurm-16.05.2.orig/configure.ac 2016-07-07 02:51:37.000000000 +0300
++++ slurm-16.05.2/configure.ac 2016-07-15 20:02:41.373270765 +0300
+@@ -261,44 +261,6 @@
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
+
+-#
+-# Tests for GTK+
+-#
+-
+-# use the correct libs if running on 64bit
+-if test -d "/usr/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-if test -d "/opt/gnome/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread])
+-
+-if test ${glib_config_minor_version=0} -ge 32 ; then
+- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher])
+-fi
+-
+-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread])
+-if test ${gtk_config_minor_version=0} -ge 10 ; then
+- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 12 ; then
+- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 14 ; then
+- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher])
+-fi
+-
+-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then
+- AC_MSG_WARN([cannot build sview without gtk library]);
+-fi
+-
+-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"])
+-
+ X_AC_DATABASES
+
+ dnl Cray ALPS/Basil support depends on mySQL
+@@ -503,7 +465,6 @@
+ src/sshare/Makefile
+ src/sstat/Makefile
+ src/strigger/Makefile
+- src/sview/Makefile
+ src/plugins/Makefile
+ src/plugins/accounting_storage/Makefile
+ src/plugins/accounting_storage/common/Makefile
+diff -urN slurm-16.05.2.orig/src/Makefile.am slurm-16.05.2/src/Makefile.am
+--- slurm-16.05.2.orig/src/Makefile.am 2016-07-07 02:51:37.000000000 +0300
++++ slurm-16.05.2/src/Makefile.am 2016-07-15 20:02:41.373270765 +0300
+@@ -27,8 +27,7 @@
+ srun_cr \
+ sshare \
+ sstat \
+- strigger \
+- sview
++ strigger
+
+ if !REAL_BG_L_P_LOADED
+ SUBDIRS += srun
diff --git a/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch
new file mode 100644
index 000000000000..f9d22f479f89
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-16.05.2-sysmacros.patch
@@ -0,0 +1,34 @@
+ configure.ac | 2 +-
+ src/plugins/task/cgroup/task_cgroup_devices.c | 6 ++++++
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 869a989..2936983 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -141,7 +141,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \
+ AC_HEADER_SYS_WAIT
+ AC_HEADER_TIME
+ AC_HEADER_STDC
+-
++AC_HEADER_MAJOR
+
+ dnl Checks for structures.
+ dnl
+diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c
+index 554583c..9be99d8 100644
+--- a/src/plugins/task/cgroup/task_cgroup_devices.c
++++ b/src/plugins/task/cgroup/task_cgroup_devices.c
+@@ -42,6 +42,12 @@
+ #include <sched.h>
+ #include <glob.h>
+ #include <sys/types.h>
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#endif
++#ifdef MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
+ #include <sys/stat.h>
+ #include <slurm/slurm.h>
+ #include <slurm/slurm_errno.h>
diff --git a/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch
new file mode 100644
index 000000000000..f7e2c5b26739
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-17.02.6-disable-sview.patch
@@ -0,0 +1,99 @@
+ configure.ac | 39 ---------------------------------------
+ doc/man/man1/Makefile.am | 8 --------
+ src/Makefile.am | 3 +--
+ 3 files changed, 1 insertion(+), 49 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 2f177ec..ff4d69b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -238,44 +238,6 @@ AC_SUBST(HAVE_SOME_CURSES)
+ PKG_CHECK_MODULES([CHECK], [check >= 0.9.8], [ac_have_check="yes"], [ac_have_check="no"])
+ AM_CONDITIONAL(HAVE_CHECK, test "x$ac_have_check" = "xyes")
+
+-#
+-# Tests for GTK+
+-#
+-
+-# use the correct libs if running on 64bit
+-if test -d "/usr/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/usr/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-if test -d "/opt/gnome/lib64/pkgconfig"; then
+- PKG_CONFIG_PATH="/opt/gnome/lib64/pkgconfig/:$PKG_CONFIG_PATH"
+-fi
+-
+-AM_PATH_GLIB_2_0([2.7.1], [ac_glib_test="yes"], [ac_glib_test="no"], [gthread])
+-
+-if test ${glib_config_minor_version=0} -ge 32 ; then
+- AC_DEFINE([GLIB_NEW_THREADS], 1, [Define to 1 if using glib-2.32.0 or higher])
+-fi
+-
+-AM_PATH_GTK_2_0([2.7.1], [ac_gtk_test="yes"], [ac_gtk_test="no"], [gthread])
+-if test ${gtk_config_minor_version=0} -ge 10 ; then
+- AC_DEFINE([GTK2_USE_RADIO_SET], 1, [Define to 1 if using gtk+-2.10.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 12 ; then
+- AC_DEFINE([GTK2_USE_TOOLTIP], 1, [Define to 1 if using gtk+-2.12.0 or higher])
+-fi
+-
+-if test ${gtk_config_minor_version=0} -ge 14 ; then
+- AC_DEFINE([GTK2_USE_GET_FOCUS], 1, [Define to 1 if using gtk+-2.14.0 or higher])
+-fi
+-
+-if test "x$ac_glib_test" != "xyes" -o "x$ac_gtk_test" != "xyes"; then
+- AC_MSG_WARN([cannot build sview without gtk library]);
+-fi
+-
+-AM_CONDITIONAL(BUILD_SVIEW, [test "x$ac_glib_test" = "xyes"] && [test "x$ac_gtk_test" = "xyes"])
+-
+ dnl Cray ALPS/Basil support depends on mySQL
+ X_AC_CRAY
+
+@@ -477,7 +439,6 @@ AC_CONFIG_FILES([Makefile
+ src/sshare/Makefile
+ src/sstat/Makefile
+ src/strigger/Makefile
+- src/sview/Makefile
+ src/plugins/Makefile
+ src/plugins/accounting_storage/Makefile
+ src/plugins/accounting_storage/common/Makefile
+diff --git a/doc/man/man1/Makefile.am b/doc/man/man1/Makefile.am
+index 246f16d..ba39af2 100644
+--- a/doc/man/man1/Makefile.am
++++ b/doc/man/man1/Makefile.am
+@@ -29,10 +29,6 @@ if WITH_BLCR
+ man1_MANS += srun_cr.1
+ endif
+
+-if BUILD_SVIEW
+-man1_MANS += sview.1
+-endif
+-
+ EXTRA_DIST = $(man1_MANS)
+
+ if HAVE_MAN2HTML
+@@ -65,10 +61,6 @@ if WITH_BLCR
+ html_DATA += srun_cr.html
+ endif
+
+-if BUILD_SVIEW
+-html_DATA += sview.html
+-endif
+-
+ MOSTLYCLEANFILES = ${html_DATA}
+
+ EXTRA_DIST += $(html_DATA)
+diff --git a/src/Makefile.am b/src/Makefile.am
+index bcd5aa7..a8cbf17 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,5 +28,4 @@ SUBDIRS = \
+ srun_cr \
+ sshare \
+ sstat \
+- strigger \
+- sview
++ strigger
diff --git a/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch
new file mode 100644
index 000000000000..dc48f8475c00
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm-17.02.6-glibc-2.25.patch
@@ -0,0 +1,53 @@
+commit 056d9ff26b1d2ccac45da3c26a6918f182f8c559
+Author: Justin Lecher <jlec@gentoo.org>
+Date: Sun Jul 9 15:54:20 2017 +0100
+
+ Include sysmacros.h in addition for major() & minor()
+
+ Starting from glibc-2.25 [1] the macros major and minor are only available
+ from sys/sysmacros.h. This patch uses an autoconf macro to detect the
+ location and includes the header accordingly.
+
+ 1)
+ https://sourceware.org/ml/libc-alpha/2017-02/msg00079.html
+
+ Signed-off-by: Justin Lecher <jlec@gentoo.org>
+
+diff --git a/configure.ac b/configure.ac
+index 44699ae095..66d4350d44 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -124,7 +124,7 @@ AC_CHECK_HEADERS(mcheck.h values.h socket.h sys/socket.h \
+ AC_HEADER_SYS_WAIT
+ AC_HEADER_TIME
+ AC_HEADER_STDC
+-
++AC_HEADER_MAJOR
+
+ dnl Checks for structures.
+ dnl
+diff --git a/src/plugins/task/cgroup/task_cgroup_devices.c b/src/plugins/task/cgroup/task_cgroup_devices.c
+index 6a09b3d52a..63c0a11c9e 100644
+--- a/src/plugins/task/cgroup/task_cgroup_devices.c
++++ b/src/plugins/task/cgroup/task_cgroup_devices.c
+@@ -34,12 +34,20 @@
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ \*****************************************************************************/
+
++#include "config.h"
++
+ #define _GNU_SOURCE
+ #include <glob.h>
+ #include <limits.h>
+ #include <sched.h>
+ #include <sys/stat.h>
+ #include <sys/types.h>
++#ifdef MAJOR_IN_MKDEV
++# include <sys/mkdev.h>
++#endif
++#ifdef MAJOR_IN_SYSMACROS
++# include <sys/sysmacros.h>
++#endif
+
+ #include "slurm/slurm.h"
+ #include "slurm/slurm_errno.h"
diff --git a/sys-cluster/slurm/files/slurm.confd b/sys-cluster/slurm/files/slurm.confd
new file mode 100644
index 000000000000..c406dc3f2a2c
--- /dev/null
+++ b/sys-cluster/slurm/files/slurm.confd
@@ -0,0 +1,6 @@
+# /etc/conf.d/slurm: config file for /etc/init.d/slurm*
+SLURMCTLD_OPTIONS=""
+SLURMDBD_OPTIONS=""
+SLURMD_OPTIONS=""
+SLURM_USE_MUNGE="0"
+SLURM_USE_YPBIND="0" \ No newline at end of file
diff --git a/sys-cluster/slurm/files/slurmctld.initd b/sys-cluster/slurm/files/slurmctld.initd
new file mode 100644
index 000000000000..e87dfdb83ad3
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmctld.initd
@@ -0,0 +1,68 @@
+#!/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 slurmdbd
+ 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/slurm.conf" ]; then
+ eerror "Missing config /etc/slurm/slurm.conf"
+ eerror "Customize sample one or generate new by configurator.html"
+ eerror "in slurm doc directory"
+ 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 slurm control daemon"
+ checkconfig
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmctld.pid \
+ --user slurm \
+ --group slurm \
+ --exec /usr/sbin/slurmctld -- ${SLURMCTLD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurm control daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmctld.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurm daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmctld.pid
+ eend $?
+}
diff --git a/sys-cluster/slurm/files/slurmd.initd b/sys-cluster/slurm/files/slurmd.initd
new file mode 100644
index 000000000000..a4a165be87d3
--- /dev/null
+++ b/sys-cluster/slurm/files/slurmd.initd
@@ -0,0 +1,71 @@
+#!/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/slurm.conf" ]; then
+ eerror "Missing config /etc/slurm/slurm.conf"
+ eerror "Customize sample one or generate new by configurator.html"
+ eerror "in slurm doc directory"
+ 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 slurm daemon"
+ checkconfig
+ # Slurm does not propagate limits, which can brakes InfiniBand
+ # See http://www.open-mpi.org/faq/?category=openfabrics
+ # and https://computing.llnl.gov/linux/slurm/faq.html#rlimit
+ ulimit -l unlimited
+ start-stop-daemon --start --quiet --background \
+ --pidfile /var/run/slurm/slurmd.pid \
+ --user root \
+ --group root \
+ --exec /usr/sbin/slurmd -- ${SLURMD_OPTS}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping slurm daemon"
+ start-stop-daemon --stop --pidfile /var/run/slurm/slurmd.pid
+ eend $?
+}
+
+reload() {
+ ebegin "Reloading slurm daemon configuration"
+ start-stop-daemon --signal HUP --pidfile /var/run/slurm/slurmd.pid
+ eend $?
+}
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 $?
+}