Project

General

Profile

Actions

Architecture #25311

closed

Architecture #24963: Persist compliance in base to know last state for a long time

Remove expected reports from NodeStatusReport

Added by François ARMAND 3 months ago. Updated 2 months ago.

Status:
Released
Priority:
N/A
Category:
Architecture - evolution
Target version:
Effort required:
Name check:
To do
Fix check:
To do
Regression:
No

Description

The NodeStatusReport object as a field that contains the run analysis: what configuration it should match, if we did get a run, if we did does the run match the expected configuration id, etc.

Today, that run analysis part contains the exepected reports of the expected configuration and of the run configuration. ExpectedReports is a huge and complicated structure, and so here we have it, for each node:

- in a dedicated cache in NodeConfigurationService,
- in a (big) database table : nodeconfigurations
- one or two more time in the node NodeStatusReport in cache.

And we don't seems to use the one(s) in NodeStatusReport once the computation of compliance in ExecutionBatch is done.

Since we want to persist NodeStatusReport in database, it looks like we should remove ExpectedReports from it first and avoid the json codec pain (it already exists, but it still add complexity) and the memory, I/O, and base size.

Actions #1

Updated by François ARMAND 3 months ago

  • Status changed from New to In progress
Actions #2

Updated by François ARMAND 3 months ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from François ARMAND to Clark ANDRIANASOLO
  • Pull Request set to https://github.com/Normation/rudder/pull/5853
Actions #3

Updated by Anonymous 3 months ago

  • Status changed from Pending technical review to Pending release
Actions #4

Updated by Vincent MEMBRÉ 2 months ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 8.2.0~beta1 which was released today.

Actions

Also available in: Atom PDF