Project

General

Profile

Actions

User story #4506

closed

User story #4505: Allow exclusion and composition of groups to gain more flexibility in Nodes targeted by a Rule

Add a new (backend) rule target for group composition and exclusion

Added by Vincent MEMBRÉ over 8 years ago. Updated over 7 years ago.

Status:
Released
Priority:
1
Category:
Web - Config management
Target version:
UX impact:
Suggestion strength:
User visibility:
Effort required:
Regression:

Description

A new RuleTarget should be added to handle group exclusion and composition.

Actions #1

Updated by François ARMAND over 8 years ago

  • Subject changed from Add Rule composition backend. to Add a new (backend) rule target for group composition and exclusion
  • Status changed from New to In progress
Actions #2

Updated by Vincent MEMBRÉ over 8 years ago

  • Pull Request set to https://github.com/Normation/rudder/pull/448
Actions #3

Updated by Jonathan CLARKE over 8 years ago

  • Status changed from In progress to Pending technical review
  • Assignee changed from Vincent MEMBRÉ to François ARMAND

Looks like this should be in TR.

Actions #4

Updated by Vincent MEMBRÉ over 8 years ago

Here we add some new targets that allow composition of targets.

  • TargetUnion, which should be transform to union of all set of Nodes from those targets
  • TargetIntersection, to be transformed in the interstion of add set of Nodes from those targets

and another target (targetExclusion) to select groups that we want the rule to be applied and groups that we clearly don't want.
This should be transformed into the set of Nodes included targets and remove Nodes from excluded ones.

before 2.10, When a Rule applies more than one rule targets, Rudder considers them as being an union of all those targets, and therefore we decided that when you will modify a Rule that has multiple targets in 2.10, those targets will be transformed into one target that would include an union of all of the targets.

ie: if your Rule applies to groups G1, G2, G3, when you will access that Rule via Rudder webUI it will transform it into one and only target that include the three groups and does not exclude any groups.

Actions #5

Updated by Vincent MEMBRÉ over 8 years ago

Those three new targets will be represented as json in the ldap, so you can directly use it the API.

Target composition (Union/Intersection) are represented like this:

{ "targets" : [List of targets], "kind" : "Union or Intersection" }

The composite Target that include and exclude targets will be reprsented like this:

{ "include" : a target composition , "kind" : a target composition }

ie: the case from previous update would be represented like that:

{ "include" : { "targets" : [ "G1", "G2", "G3" ] , "kind" : "union" }, "exclude" : { "targets" : [ ] , "kind" : "union" } }
Actions #6

Updated by Vincent MEMBRÉ over 8 years ago

Oops, an error appeared on last update (example is correct though)

target composition will be represented like that:

{ "include" : a target composition , "exclude" : a target composition }
Actions #7

Updated by Vincent MEMBRÉ over 8 years ago

  • Status changed from Pending technical review to Pending release
  • % Done changed from 0 to 100
Actions #8

Updated by Anonymous over 8 years ago

Actions #9

Updated by Vincent MEMBRÉ over 8 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 2.10.0~beta1, which was released today.
Check out:

The release announcement: http://www.rudder-project.org/pipermail/rudder-announce/2014-March/000084.html
The full ChangeLog: http://www.rudder-project.org/foswiki/bin/view/System/Documentation:ChangeLog210
Download information: https://www.rudder-project.org/site/get-rudder/downloads/
Actions #10

Updated by Benoît PECCATTE over 7 years ago

  • Tracker changed from Enhancement to User story
Actions

Also available in: Atom PDF