nodeattrib(8) -- List or change confluent nodes attributes ========================================================= ## SYNOPSIS `nodeattrib [-b] [all|...]` `nodeattrib [ ...]` `nodeattrib -c ...` `nodeattrib -e ...` `nodeattrib -p ...` ## DESCRIPTION **nodeattrib** manages the attributes of confluent nodes. In the simplest form, it simply takes the given noderange(5) and lists the matching nodes, one line at a time. If a list of node attribute names are given, the value of those are also displayed. If `-b` is specified, it will also display information on how inherited and expression based attributes are defined. Attributes can be straightforward values, or an expression as documented in nodeattribexpressions(5). For a full list of attributes, run `nodeattrib all` against a node. If `-c` is specified, this will set the nodeattribute to a null value. This is different from setting the value to an empty string. Attributes may be specified by wildcard, for example `net.*switch` will report all attributes that begin with `net.` and end with `switch`. If the word all is specified, then all available attributes are given. Omitting any attribute name or the word 'all' will display only attributes that are currently set. For the `groups` attribute, it is possible to add a group by doing `groups,=` and to remove by doing `groups^=` Note that `nodeattrib ` will likely not provide the expected behavior. See nodegroupattrib(8) command on how to manage attributes on a group level. ## OPTIONS * `-b`, `--blame`: Annotate inherited and expression based attributes to show their base value. * `-c`, `--clear`: Clear specified nodeattributes * `-e`, `--environment`: Set specified attributes based on exported environment variable of matching name. Environment variable names may be lower case or all upper case. Replace . with _ as needed (e.g. info.note may be specified as either $info_note or $INFO_NOTE * `-p`, `--prompt`: Request interactive prompting to provide values rather than the command line or environment variables. ## EXAMPLES * Listing matching nodes of a simple noderange: `# nodeattrib n1-n2` `n1: console.method: ipmi` `n1: hardwaremanagement.manager: 172.30.3.1` `n2: console.method: ipmi` `n2: hardwaremanagement.manager: 172.30.3.2` * Getting an attribute of nodes matching a noderange: `# nodeattrib n1,n2 hardwaremanagement.manager` `n1: hardwaremanagement.manager: 172.30.3.1` `n2: hardwaremanagement.manager: 172.30.3.2` * Getting a group of attributes while determining what group defines them: `# nodeattrib n1,n2 hardwaremanagement --blame` `n1: hardwaremanagement.manager: 172.30.3.1` `n1: hardwaremanagement.method: ipmi (inherited from group everything)` `n1: hardwaremanagement.switch: r8e1` `n1: hardwaremanagement.switchport: 14` `n2: hardwaremanagement.manager: 172.30.3.2` `n2: hardwaremanagement.method: ipmi (inherited from group everything)` `n2: hardwaremanagement.switch: r8e1` `n2: hardwaremanagement.switchport: 2` * Listing matching nodes of a simple noderange that are set: `# nodeattrib n1-n2 current` `n1: console.method: ipmi` `n1: hardwaremanagement.manager: 172.30.3.1` `n2: console.method: ipmi` `n2: hardwaremanagement.manager: 172.30.3.2` * Change attribute on nodes of a simple noderange: `# nodeattrib n1-n2 console.method=serial` `n1: console.method: serial` `n1: hardwaremanagement.manager: 172.30.3.1` `n2: console.method: serial` `n2: hardwaremanagement.manager: 172.30.3.2` * Clear attribute on nodes of a simple noderange, if you want to retain the variable set the attribute to "": `# nodeattrib n1-n2 -c console.method` `# nodeattrib n1-n2 console.method` `n1: console.method: ` `n2: console.method: ` * List all switches that a node is described as connected to: `# nodeattrib d1 net.*switch` `d1: net.mgt.switch: mgtswitch1` `d1: net.pxe.switch: pxeswitch1` `d1: net.switch:` ## SEE ALSO nodegroupattrib(8), nodeattribexpressions(5) ## ATTRIBUTES