crm_attribute
and attrd_updater
are confusingly similar tools with subtle differences.
attrd_updater
can query and update node attributes. crm_attribute
can query and update not only node attributes, but also cluster options, resource defaults, and operation defaults.
Table 5.1. Types of Node Attributes
Type | Recorded in CIB? | Recorded in attribute manager memory? | Survive full cluster restart? | Manageable by crm_attribute? | Manageable by attrd_updater? |
---|---|---|---|---|---|
permanent
|
yes
|
no
|
yes
|
yes
|
no
|
transient
|
yes
|
yes
|
no
|
yes
|
yes
|
private
|
no
|
yes
|
no
|
no
|
yes
|
crm_attribute
can manage permanent and transient node attributes, while attrd_updater
can manage transient and private node attributes.
attrd_updater
always contacts the Pacemaker attribute manager directly, while crm_attribute
will contact the attribute manager only for transient node attributes, and will instead modify the CIB directly for permanent node attributes (and for transient node attributes when unable to contact the attribute manager).
attrd_updater
can change an attribute’s "dampening" (whether changes are immediately flushed to the CIB or after a specified amount of time, to minimize disk writes for frequent changes), set private node attributes (which are never written to the CIB), and set attributes for nodes that don’t yet exist.
crm_attribute
can set permanent node attributes (which are only in the CIB and not managed by the attribute manager), and can be used with saved CIB files and shadow CIBs.