1helpers.conf(5) Slurm Configuration File helpers.conf(5)
2
3
4
6 helpers.conf - Slurm configuration file for the helpers plugin.
7
8
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
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
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
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
142 slurm.conf(5)
143
144
145
146January 2022 Slurm Configuration File helpers.conf(5)