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. 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: ` ## SEE ALSO nodegroupattrib(8), nodeattribexpressions(5)