Architecture #23727
closedGroup all node related access into one NodeFactRepository
Description
We want to have all node access (ie: inventory, rudder settings, properties, etc) managed by only one repository.
This will allow to more easely advance on the path for #22672, but also to let us implements global security check on nodes (ACL) without fear that user-facing code does not consistently does cheks.
That will also define a defacto Internal API for node management, and so it must be done in a way that can be easely done with forward/backward compatibility in head.
Moreover, a central repository for both update and select will grantly simplify our cache management invalidation.
We will also take care in that refactoring to simplify to number of different node classes (by adding two more, à la XKCD protocol):
- a NodeFact will group all information, both inventory and rudder setting related, into only one normalized structure. It will be the sum of FullInventory and Node,
- a CoreNodeFact will group all cached information about a node. It will be like NodeInfo today, but with a simpler layout consistent with NodeFact.
Appart the massive internal code change, the observable external storage won't be changed: node will still be saved in LDAP.
Performance must be similar or better than before the change.
Code logic must be simpler.
User facing service and UI should not be modified, so we must be able to build a compatibility layer on top of that new infrastructure.
Updated by François ARMAND about 1 year ago
- Related to Architecture #22672: Remove node information and inventories from LDAP added
Updated by François ARMAND about 1 year ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by François ARMAND about 1 year ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Vincent MEMBRÉ
- Pull Request set to https://github.com/Normation/rudder/pull/5167
Updated by François ARMAND about 1 year ago
- Related to Bug #20674: when saving processes in inventories, don't fetch them to replace them added
Updated by Anonymous almost 1 year ago
- Status changed from Pending technical review to Pending release
Applied in changeset rudder|1d93013c6b638dd18fd989168da13edea94bd346.
Updated by Clark ANDRIANASOLO 12 months ago
- Related to Bug #23778: Hooks for newNodeManager was renamed in rudder config but not in plugins added
Updated by Clark ANDRIANASOLO 12 months ago
- Related to deleted (Bug #23778: Hooks for newNodeManager was renamed in rudder config but not in plugins)
Updated by François ARMAND 12 months ago
- Related to User story #23796: RBAC for nodes via tenants (view only) added
Updated by Vincent MEMBRÉ 10 months ago
- Related to Architecture #24029: license plugin checks are not building since node facts changes added
Updated by Vincent MEMBRÉ 8 months ago
- Related to Bug #24441: Cannot translate campaign on boot, leading to skipped events added
Updated by Vincent MEMBRÉ 8 months ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 8.1.0~alpha1 which was released today.