NAME¶
groups.conf - Configuration file for ClusterShell external node groups
DESCRIPTION¶
The ClusterShell library obtains node groups configuration options from the
system-wide configuration file
/etc/clustershell/groups.conf.
Additional configuration files are also read from the directories set by the
groupsdir option, if present. See the groupsdir option below for further
details.
Configuration files have a format in the style of RFC 822 potentially composed
of several sections which may be present in any order. There are two types of
sections: Main and Group source:
- Main
- Global configuration options. There should be only one Main
section.
- Group_source
-
The Group_source section(s) define the configuration for each node
group source (or namespace). This configuration consists in external
commands definition (map, all, list and reverse).
Only
Group_source section(s) are allowed in additional configuration
files.
[Main] OPTIONS¶
Configuration parameters of the Main section are described below.
- default
- Specify the default group source (group namespace) used by
the NodeSet parser when the user does not explicitly specify the group
source (eg. "@io").
- groupsdir
- Optional list of directories where the ClusterShell library
should look for .conf files which define group sources to use. Each file
in these directories with the .conf suffix should contain one or more
Group_source sections as documented in [ Group_source]
options below. These will be merged with the group sources defined in
/etc/clustershell/groups.conf to form the complete set of group
sources that ClusterShell will use. Duplicate Group_source sections
are not allowed. Note: .conf files that are not readable by the current
user are ignored.
[Group_source] OPTIONS¶
Configuration parameters of each group source section are described below.
- map
- Specify the external shell command used to resolve a group
name into a nodeset, list of nodes or list of nodeset (separated by space
characters or by carriage returns). The variable $GROUP is replaced
before executing the command.
- all
- Optional external shell command that should return a
nodeset, list of nodes or list of nodeset of all nodes for this group
source. If not specified, the library will try to resolve all nodes by
using the list external command in the same group source followed by map
for each group.
- list
- Optional external shell command that should return the list
of all groups for this group source (separated by space characters or by
carriage returns).
- reverse
- Optional external shell command used to find the group(s)
of a single node. The variable $NODE is previously replaced. If this
upcall is not specified, the reverse operation is computed in memory by
the library from the list and map external calls. Also, if
the number of nodes to reverse is greater than the number of available
groups, the reverse external command is avoided automatically.
When the library executes a group source external shell command, the current
working directory is previously set to the corresponding groupsdir. This
allows the use of relative paths for third party files in the command.
Each external command might return a non-zero return code when the operation is
not doable. But if the call return zero, for instance, for a non-existing
group, the user will not receive any error when trying to resolve such unknown
group. The desired behaviour is up to the system administrator.
RESOURCE USAGE¶
All external command results are cached in memory to avoid multiple calls.
EXAMPLES¶
Simple configuration file for local groups and slurm partitions binding.
groups.conf¶
[Main]
default: local
#groupsdir: /etc/clustershell/groups.conf.d/
[local]
map: sed -n 's/^$GROUP:(.*)/1/p' /etc/clustershell/groups
list: sed -n 's/^\([0-9A-Za-z_-]*\):.*/\1/p' /etc/clustershell/groups
[slurm]
map: sinfo -h -o "%N" -p $GROUP
all: sinfo -h -o "%N"
list: sinfo -h -o "%P"
reverse: sinfo -h -N -o "%P" -n $NODE
FILES¶
- /etc/clustershell/groups.conf
-
System-wide external node groups configuration file.
- /etc/clustershell/groups.conf.d/
-
Recommended directory for additional configuration files.
SEE ALSO¶
clush(1),
clubak(1),
nodeset(1)
http://clustershell.sourceforge.net/
AUTHOR¶
Stephane Thiell, CEA DAM <stephane.thiell@cea.fr>
COPYRIGHT¶
CeCILL-C V1