Project

General

Profile

Actions

Architecture #10625

closed

Don't merge directive from same technique on generation

Added by François ARMAND almost 7 years ago. Updated almost 6 years ago.

Status:
Released
Priority:
N/A
Category:
Web - Config management
Target version:
Effort required:
Very large
Name check:
Fix check:
Regression:

Description

For historical reason, all directives from a same technique are merged during generation. That means that only one set of parameters is generated for the directive, and only one set of files is written for all of them.

This leads to a lot of problems, like:

  • it is impossible to have two directives from the same Technique, but with different Technique version, on the same node (see #2736, which immensely complexify Technique migration, see #4293)
  • it is not possible to have two directives from the same Technique, on the same node, one in Audit, the other in Enforce mode (see #10580)
  • you can't sort Directive from the same technique at different stage, even if they are in different rules,
  • debugging is complex as it is impossible to clearly isolate the life cycle of one directive

Important note: UniqueVariable are not supported anymore after that merge. See #11940.

It is likely that you don't know what an unique variable is in all case.


Subtasks 8 (0 open8 closed)

Architecture #11705: Remove the use of serial in rulesReleasedVincent MEMBRÉActions
User story #11846: Display in web interface that technique support multivalued versionReleasedVincent MEMBRÉActions
Bug #11862: RudderUniqueID is not replaced when used in OUTPATHReleasedNicolas CHARLESActions
Bug #11876: Broken reporting in Rudder 4.3 with standard directivesReleasedFrançois ARMANDActions
Bug #11995: Error when deserializing JSON for expected node configuration in Rudder 4.3ReleasedNicolas CHARLESActions
Bug #12003: Error when deserializing JSON for expected node configuration in Rudder 4.3ReleasedNicolas CHARLESActions
Architecture #11940: Warn if an "uniqueVariable" is found in a techniqueReleasedFrançois ARMANDActions
Architecture #11941: Remove unique variable in our TechniqueReleasedNicolas CHARLESActions

Related issues 7 (0 open7 closed)

Related to Rudder - Bug #2736: We can't apply Directives from different versions of the same Technique on a nodeRejectedActions
Related to Rudder - User story #4293: Migrating from a Technique version to another one in a Directive is long and painfulRejectedActions
Related to Rudder - Bug #10580: Cannot mix audit/enforce mode on directives based on the same techniqueRejectedActions
Related to Rudder - User story #11832: Document multiversionned techniqueReleasedAlexis MoussetActions
Related to Rudder - User story #11844: Port some more techniques to multi-versionned formatReleasedBenoît PECCATTEActions
Related to Rudder - User story #14002: Port techniques downloadFile & cronManagement to separated policy generation ReleasedBenoît PECCATTEActions
Has duplicate Rudder - Architecture #2880: Change promise generation to have one promise by rule and no more multiplexationRejectedActions
Actions

Also available in: Atom PDF