User story #11809
closedUser story #11748: Node lifecycle: add a node state
Make node states behavior and name clearer
Description
For now, the we have 4 states for nodes:
- enabled
- disabled
- initialazing
- decomissionning.
For "decomissionning", we fear that the user don't understand that the goal of that state is to prepare decommissionning, not that it already reached that state => rename toward "Prepare End Of Life".
For "disabled", we have a problem that it conflates two different state and use cases:
- 1/ I want that Rudder server ignore that node, as if it was deleted (but that implies nothing on the agent which continues it little life with the last set of policies it knows)
- 2/ I want to make the agent stop applying policies (user one, I don't care about system one)
The case 1/ is good to manage cases where a node has something broken (and so policy generation is broken - for ex, a missing pluging for windows node) or is actually shutdowned. In that case, you want to have Rudder stop caring about that node: it is filtered out of policy generation process and of compliance/expected reports.
=> this state will be named "Ignored". Technicaly, it filters out the node from policy generation, update of expected reports, and compliance calculations.
The case 2/ is good to manage cases where you want to temporarily stop a node to apply policies, but the node is not broken or shutdown, but you want to have rudder stop reporting on user policies for it, and be able to change managed thing whitout having them put it back. It is a more potent than changing the policy mode to "audit" as the node doesn't get the policy at all, and from a compliance point of view, the node doesn't have them.
=> this state will be named "Empty Policies". Technicaly, it filter out any non-system policies during policy generation (and nothing else) so the node does not have anything to do.