1helpers.conf(5)            Slurm Configuration File            helpers.conf(5)
2
3
4

NAME

6       helpers.conf - Slurm configuration file for the helpers plugin.
7
8

DESCRIPTION

10       helpers.conf  is an ASCII file which defines parameters used by Slurm's
11       "helpers" node feature plugin.  The file will always be located in  the
12       same directory as the slurm.conf.
13
14

PARAMETERS

16       Parameter  names are case insensitive.  Any text following a "#" in the
17       configuration file is treated as a comment  through  the  end  of  that
18       line.  The size of each line in the file is limited to 1024 characters.
19       Changes to the configuration file take effect  upon  restart  of  Slurm
20       daemons,  daemon receipt of the SIGHUP signal, or execution of the com‐
21       mand "scontrol reconfigure" unless otherwise noted.
22
23
24       AllowUserBoot=<user1>[,<user2>...]
25              Controls which users are allowed to  change  the  features  with
26              this plugin.  Default is to allow ALL users.
27
28       BootTime=<time>
29              Controls how much time a node has to reboot before a timeout oc‐
30              curs and a failure is assumed. Default value is 300 seconds.
31
32       ExecTime=<time>
33              Controls how much time the Helper program can run before a time‐
34              out  occurs  and  a failure is assumed. Default value is 10 sec‐
35              onds.
36
37       Feature=<string> Helper=<file>
38              Defines a Feature and the corresponding Helper program that  re‐
39              ports  and  modifies the status of the feature. Multiple Feature
40              entries are allowed, one for each feature and corresponding pro‐
41              gram/script.
42
43              The  Helper  is  an arbitrary program or script that reports and
44              modifies the feature set  on  a  given  node.  The  helpers  are
45              site-specific and are not included with Slurm. Features modified
46              by the helpers require a reboot of the node using the RebootPro‐
47              gram.  The Helper program/script must be executable by the Slur‐
48              mdUser.  The same program/script can be used to control multiple
49              features. slurmd will execute the Helper in one of two ways:
50
51              1.  Execute  with  no arguments to query the status of node fea‐
52              tures.
53
54              2. Execute with a single argument of the feature to be activated
55              on node reboot.
56
57              NOTE:  Any  feature  under the control of a Helper cannot be re‐
58              quested with complex specification language. If any more complex
59              specifications  are  specified  by  a job using constraints with
60              "[]()!*", the job will be rejected.
61
62       MutuallyExclusive=<feature_list>
63              Prevents certain features from being specified for the same job.
64              There can be multiple MutuallyExclusive entries, each with their
65              own list of features that are  mutually  exclusive  among  them‐
66              selves  (i.e.  features  on one line are only mutually exclusive
67              with other features on the same line, but not mutually exclusive
68              with features on other lines).
69

EXAMPLE

71       /etc/slurm/slurm.conf:
72              To  enable  the helpers plugin, the slurm.conf needs to have the
73              following entry:
74
75              NodeFeaturesPlugins=node_features/helpers
76
77
78       /etc/slurm/helpers.conf:
79              The following example helpers.conf  demonstrates  that  multiple
80              features  can  use  the same Helper script and that there can be
81              multiple lists of features that are mutually exclusive. For  ex‐
82              ample,  with  the  following  configuration a job cannot request
83              both "nps1" and "nps2", nor can it  request  both  "mig=on"  and
84              "mig=off".  However, it could request "nps1" and "mig=on" at the
85              same time.
86
87              # helpers.conf
88              Feature=nps1 Helper=/usr/local/bin/nps
89              Feature=nps2 Helper=/usr/local/bin/nps
90              Feature=nps4 Helper=/usr/local/bin/nps
91              Feature=mig=on Helper=/usr/local/bin/mig
92              Feature=mig=off Helper=/usr/local/bin/mig
93              MutuallyExclusive=nps1,nps2,nps4
94              MutuallyExclusive=mig=on,mig=off
95              ExecTime=60
96              BootTime=60
97              AllowUserBoot=user1,user2
98
99
100       Example Helper script:
101              When the helper script is called with no arguments it should re‐
102              turn the feature(s) that are currently active for the node, with
103              multiple features being  new-line  delimited.  When  the  helper
104              script  is  called with a feature to be enabled for the node, it
105              should configure the node in a way that  the  specified  feature
106              will  be enabled when the node reboots. This example script just
107              writes the active feature name to a file but production  scripts
108              will probably be more complex.
109
110              #!/bin/bash
111
112              if [ "$1" = "nps1" ]; then
113                  echo "$1" > /etc/slurm/feature
114              elif [ "$1" = "nps2" ]; then
115                  echo "$1" > /etc/slurm/feature
116              elif [ "$1" = "nps4" ]; then
117                  echo "$1" > /etc/slurm/feature
118              else
119                  cat /etc/slurm/feature
120              fi
121
122

COPYING

124       Copyright (C) 2021 NVIDIA CORPORATION. All rights reserved.
125       Copyright (C) 2021 SchedMD LLC.
126
127       This  file  is  part  of Slurm, a resource management program.  For de‐
128       tails, see <https://slurm.schedmd.com/>.
129
130       Slurm is free software; you can redistribute it and/or modify it  under
131       the  terms  of  the GNU General Public License as published by the Free
132       Software Foundation; either version 2 of the License, or (at  your  op‐
133       tion) any later version.
134
135       Slurm  is  distributed  in the hope that it will be useful, but WITHOUT
136       ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY  or
137       FITNESS  FOR  A PARTICULAR PURPOSE.  See the GNU General Public License
138       for more details.
139
140

SEE ALSO

142       slurm.conf(5)
143
144
145
146January 2022               Slurm Configuration File            helpers.conf(5)
Impressum