Project

General

Profile

Actions

Architecture #10625

closed

Don't merge directive from same technique on generation

Added by François ARMAND over 7 years ago. Updated over 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 #1

Updated by François ARMAND over 7 years ago

  • Related to Bug #2736: We can't apply Directives from different versions of the same Technique on a node added
Actions #2

Updated by François ARMAND over 7 years ago

  • Related to User story #4293: Migrating from a Technique version to another one in a Directive is long and painful added
Actions #3

Updated by François ARMAND over 7 years ago

  • Related to Bug #10580: Cannot mix audit/enforce mode on directives based on the same technique added
Actions #4

Updated by Jonathan CLARKE over 7 years ago

  • Description updated (diff)
  • Effort required set to Very large
Actions #5

Updated by François ARMAND about 7 years ago

  • Status changed from New to In progress
  • Assignee set to François ARMAND
  • Target version set to 4.3.0~beta1

Starting probing on the policy generation part.

Actions #10

Updated by François ARMAND about 7 years 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/1780
Actions #11

Updated by François ARMAND about 7 years ago

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

Updated by Nicolas CHARLES about 7 years ago

Actions #13

Updated by Nicolas CHARLES about 7 years ago

  • Related to User story #11844: Port some more techniques to multi-versionned format added
Actions #14

Updated by François ARMAND almost 7 years ago

  • Related to Bug #11876: Broken reporting in Rudder 4.3 with standard directives added
Actions #15

Updated by François ARMAND almost 7 years ago

  • Description updated (diff)
Actions #16

Updated by Vincent MEMBRÉ almost 7 years ago

  • Related to deleted (Bug #11876: Broken reporting in Rudder 4.3 with standard directives)
Actions #17

Updated by Vincent MEMBRÉ almost 7 years ago

  • Status changed from Pending release to Released

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

Actions #18

Updated by Benoît PECCATTE almost 7 years ago

  • Has duplicate Architecture #2880: Change promise generation to have one promise by rule and no more multiplexation added
Actions #19

Updated by Nicolas CHARLES about 6 years ago

  • Related to User story #14002: Port techniques downloadFile & cronManagement to separated policy generation added
Actions

Also available in: Atom PDF