Provided by: clustershell_1.6-4_all bug

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

1.6                                                2012-03-31                                     GROUPS.CONF(5)