Node Lifecycle

Imagine you have a node that you must disconnect for a maintenance period. You know what is happening on the node, and during the maintenance period, you don’t want that the Rudder shows up the node as Not responding and trigger alert on global compliance level.

An other common use case is to be able to set specific policies for nodes just after acceptation that are used for provisioning, or just before node end of life to clean it up.

In Rudder 4.3, we introduced a way to manage the Node lifecycle, for both of theses uses cases:

  • nodes disconnected from Rudder Server can be excluded from policy generation and Compliance with the Ignored state,
  • the main states of a system life can be applied with the 4 states Initializing, Enabled, Preparing End of Life and Empty policies.
./images/node-lifecycle-settings.png

States Ignored and Empty policies automatically changes the policy generation and compliance:

  • Ignored prevents any new policy generation for the Nodes in this states.
  • Empty policies generates a minimal set of policies, only to manage the Rudder Agent itself.

Both states remove the nodes from the compliance.

Nodes with non-default state appears with a label next to their name in the nodes list to show their states, and their compliance doesn’t show up in Ignored nor Empty policies mode. You can filter by node lifecycle state in that list with the common Filter input field.

./images/node-lifecycle-nodelist.png

Node with a given lifecycle state can be searched thanks to the quicksearch tool in Rudder status bar. That state can also be used to construct groups (Node state attribute of Node summary) and they also show up in the API responses concerning node information.

Finally, the default state for a Node can be configured in the Settings page, to define in which mode accepted Nodes use.

./images/node-lifecycle-settings.png

In the future, these states will be configurable on a per node basis at acceptation, and the lifecycle states list will be configurable by users.