Architecture #7155
closed
Added by Benoît PECCATTE about 9 years ago.
Updated about 1 year ago.
Description
Class outcomes are based on a class prefix. Currently this class prefix is based on a class parameter.
When this parameter changes, the outcome name change, which means we have to modify all conditions based on it.
Reports are based on the same class prefix and the method name.
When we call twice the same methods with the same parameter, the reports will be done only once.
When we call twice a method with a variable, Rudder will be unable to distinguish between both reports.
The solution to these problems is to have a new identifier. It will be based on the promiser stack.
This promiser stack is currently only a patch https://github.com/cfengine/core/pull/2301 but has a chance to make it to the next cfengine version.
We will keep a compatibility code as long as it is needed.
This issues tracks all the steps needed to implement this.
- Subject changed from Be able to have stable class identifier to Stable class identifier
- Category set to Generic methods
- Related to Architecture #6101: We should be able to call ncf generic methods more than once added
- Tracker changed from User story to Architecture
- Target version changed from master to 4.2.2
- Target version changed from 4.2.2 to 4.2.3
- Target version changed from 4.2.3 to 4.2.4
- Target version changed from 4.2.4 to Ideas (not version specific)
The promiser stack solution will not be implemented, we will instead generate unique IDs like for Rudder built-in directives, it is easier to use, maintain and debug.
We can keep this issue open, as the goal will still be to have stable classes.
- Project changed from 41 to Rudder
- Category changed from Generic methods to Generic methods
- Status changed from New to Rejected
- Regression set to No
weuse a report id (uuid-based) in logger v4 instead. Closing.
Also available in: Atom
PDF