Provided by: genders_1.27-3-3.1_amd64 bug

NAME

       nodeattr - query genders file

SYNOPSIS

       nodeattr [-f genders] [-q | -c | -n | -s] [-X exclude_query] query
       nodeattr [-f genders] [-q | -c | -n | -s] -A
       nodeattr [-f genders] [-v] [node] attr[=val]
       nodeattr [-f genders] -Q [node] query
       nodeattr [-f genders] -V [-U] attr
       nodeattr [-f genders] -l [node]
       nodeattr [-f genders] -k
       nodeattr [-f genders] -d genders
       nodeattr [-f genders] --expand
       nodeattr [-f genders] --compress
       nodeattr [-f genders] --compress-hosts

DESCRIPTION

       When  invoked with the -q , -c , -n , or -s arguments, nodeattr reads the genders file and outputs a list
       of nodes that match the specified query.  The nodes are listed in hostlist format, comma separated lists,
       newline separated lists, or space separated lists respectively.  The -q  form  is  returned  by  default.
       Genders  queries  will  query  the  genders database for a set of nodes based on the union, intersection,
       difference, or complement of genders attributes and values.  The set operation union  is  represented  by
       two  pipe  symbols  ('||'), intersection by two ampersand symbols ('&&'), difference by two minus symbols
       ('--'), and complement by a tilde ('~').  Parentheses may be used to change the order of operations.  The
       -X argument and query can be used to exclude nodes from the resulting output.  A query  can  be  replaced
       with the -A option to cause nodeattr to print all the nodes listed in the genders database.

       When  called with a node name (optional) and attribute name, nodeattr returns 0 to the environment if the
       node has the attribute; else 1.  If -v is present, the attribute  name  and  any  value  (see  below)  is
       printed on the standard output.  If a node name is not specified, the local host is assumed.

       When called with the -Q argument, nodeattr will check if the node name (optional) is met by the attribute
       and  value  conditions  specified  in  the  query.   If the conditions are met, nodeattr returns 0 to the
       environment; else 1.  The query format is identical to the format listed above.  If a node  name  is  not
       specified, the local host is assumed.

       The  -V  option  causes  nodeattr to print all of the values that exist for a particular attribute.  Also
       specifing -U with -V causes nodeattr to print out only unique values for the particular attribute.

       The -l option causes nodeattr to print all of the attributes of the specified node or list of nodes.   If
       no node is listed, all attributes in the genders file are listed.

       The  -k  option  checks  the  genders  file for parse errors and proper formatting.  If errors are found,
       information about the error will be output to standard error.

       Nodeattr will always check the default genders file, but a different genders file can be  specified  with
       the -f option.

       The  -d  option  allows the specified genders database to be compared to the filename indicated by the -f
       option or the default genders database.  The differences contained in  the  specified  database  will  be
       output  to  standard error.  Attribute names may optionally appear in the genders file with an equal sign
       followed by a value.  Nodeattr ignores these values except when the -v option requests that the value, if
       any, be displayed; and when an attribute is specified on the command line with a  value,  in  which  case
       only an attribute with the specified value in the genders file will match.

       For --expand --compress --compress-attrs --compress-hosts see HOSTRANGE EXPANSION AND COMPRESSION below.

HOSTRANGE EXPANSION AND COMPRESSION

       The  --expand  option  will  take  a  genders  database,  expand all hostranges, and output a new genders
       database.  The subsequent database will be identical to the first, but every node will  be  listed  on  a
       separate line.  This option may be useful for debugging or determining the difference between databases.

       The  --compress  option  is  the opposite of the --expand option.  It will output a new identical genders
       database with hostranges of nodes with identical attributes.  Depending on  the  setup  of  your  genders
       database, the resulting database may be longer or shorter.  This option may be useful as a beginning step
       to compressing an existing genders database.

       The  --compress-hosts  option  is  similar  to  the --compress option.  With --compress a given attr only
       appears once.  With --compress-hosts a given node only appears once. The --compress-hosts option combines
       attributes for each node first and then groups nodes with identical attribute sets rather than creating a
       group of nodes for each attribute and then  merging  common  groups.   This  is  useful  for  identifying
       "different" nodes.  For example:

       for the genders file:
           cluster[1-20]       attr1,attr2
           cluster10           attr3
           cluster20           attr3
           cluster[2,5,10]     attr4
           cluster[7,20]       attr5

       The nodeattr --compress command produces:
           cluster[2,5,10] attr4
           cluster[10,20]  attr3
           cluster[7,20]   attr5
           cluster[1-20]   attr1,attr2

       Where nodeattr --compress-hosts produces:
           cluster[1,3-4,6,8-9,11-19] attr1,attr2
           cluster[2,5]               attr1,attr2,attr4
           cluster10                  attr1,attr2,attr3,attr4
           cluster20                  attr1,attr2,attr3,attr5
           cluster7                   attr1,attr2,attr5

       In the --compress output, cluster7 appears in the third and fourth lines because it is a member of ranges
       with  attr1,attr2  and ranges with attr5.  In the --compress-hosts output, cluster7 appears on a new line
       because there are no other nodes with the same combination of attributes.

       The --compress-attrs option is identical to --compress .  It was added for consistency  when  --compress-
       hosts was added.

EXAMPLES

       Retrieve a comma separated list of all login nodes:

              nodeattr -c login

       Retrieve a hostlist formatted list of all login nodes:

              nodeattr -q login

       Retrieve a comma separated list of nodes with 4 cpus:

              nodeattr -c cpus=4

       Retrieve a comma separated list of all login and management nodes:

              nodeattr -c "login||mgmt"

       Retrieve a comma separated list of all login nodes with 4 cpus:

              nodeattr -c "login&&cpus=4"

       Retrieve a comma separated list of all nodes that are not login or management nodes:

              nodeattr -c "~(login||mgmt)"

       To use nodeattr with pdsh to run a command on all fddi nodes:

              pdsh -w`nodeattr -c fddi` command

       To use nodeattr in a ksh script to collect a list of users on login nodes:

              for i in `nodeattr -n login`; do rsh $i who; done

       To verify whether or not this node is a head node:

              nodeattr head && echo yes

       To verify whether or not this node is a head node and ntpserver:

              nodeattr -Q "head&&ntpserver" && echo yes

FILES

       /etc/genders

SEE ALSO

       libgenders(3)

LLNL                                               August 2003                                       NODEATTR(1)