Provided by: genders_1.22-1build4_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

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.  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 the attributes of the specified node.  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.

       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 is 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.

       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.

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)