Project

General

Profile

Actions

Bug #5329

closed

User story #5899: Do not display reporting on overriden 'unique' Directives

False "no answer" reporting when rules with "unique" directive are overridden

Added by Lionel Le Folgoc over 9 years ago. Updated over 9 years ago.

Status:
Released
Priority:
N/A
Category:
-
Target version:
Severity:
UX impact:
User visibility:
Effort required:
Priority:
Name check:
Fix check:
Regression:

Description

Hi,

Let's consider a single, non multi-instanciable technique, to set the console keyboard layout (KEYMAP=xy in /etc/vconsole.conf).
Create two directives from this technique, one to set a US layout, the second on to set a Bosnian layout (see attached picture). They are supposed to be applied to different groups, of course. But, if the associated rules target by mistake an intersecting group of nodes (e.g. a node is in both groups), the global report for these nodes become non-informative.

When two rules (from the same non multi-instantiable technique) are applied to the same node, the rule with the lowest priority will not be generated for the node, and so will be stuck as "Applying"/"No report" in reporting. And this is the "worst result", so the global reporting for this node will show up as "No report", even if everything else worked.

Wouldn't it be possible to create an "Overridden" status for that, which doesn't count in the global status, but can be useful for the admin to detect any unwanted conflict?

Thanks.


Files

screenshot-20140730180826.png (11.4 KB) screenshot-20140730180826.png Lionel Le Folgoc, 2014-07-31 09:31

Related issues 4 (0 open4 closed)

Related to Rudder - Bug #6020: In change only mode, when a node never answered and a given directive is applied on two differents Rules, the reports in the node details show Could not fetch reports informationRejected2014-12-17Actions
Related to Rudder - Bug #6039: The expected reports of other rules are not correctly updated when we create a new ruleReleasedFrançois ARMAND2014-12-22Actions
Related to Rudder - User story #7616: Overriden directives are not listed in reports informationReleasedFrançois ARMANDActions
Is duplicate of Rudder - Bug #1186: Report: No answer and directive with property "unique"Rejected2011-03-31Actions
Actions #1

Updated by François ARMAND over 9 years ago

hello Lionel,

Thanks for reporting. It seems to be a duplicate of #1186 (a really old one). Does I get correctly your problem?
If so, it seems that the "mission criticality" of that bug was underestimated, and we should change it's priority.

Actions #2

Updated by François ARMAND over 9 years ago

Moreover, I thing that you idea of an "overrideen" status is quite good and allows the user to see what choice was made.

Actions #3

Updated by François ARMAND over 9 years ago

  • Status changed from New to Discussion
  • Assignee set to François ARMAND
Actions #4

Updated by Lionel Le Folgoc over 9 years ago

Indeed, it is identical.
+1 to bump it to "more important". ;-)
Thanks.

Actions #5

Updated by François ARMAND over 9 years ago

  • Assignee changed from François ARMAND to Jonathan CLARKE

Assiging to Jon to get some feedback from him.

Actions #6

Updated by François ARMAND over 9 years ago

  • Subject changed from More precise reporting when rules are overridden? to False "no answer" reporting when rules with "unique" directive are overridden
Actions #7

Updated by François ARMAND over 9 years ago

  • Status changed from Discussion to Rejected

Duplicated by #5329

Actions #8

Updated by François ARMAND over 9 years ago

  • Status changed from Rejected to In progress
  • Assignee changed from Jonathan CLARKE to François ARMAND

Sorry, bad bug closed! We keep that one, as the example is pretty good and clearly depicted the importance of the correction.

Actions #9

Updated by François ARMAND over 9 years ago

I'm giving that one a look when working on reporting.

I think we can handle it in three ways:

- 1/ don't write that we expect reports for that node, for that directive. The corresponding overriden directive won't appear anymore in reports information.
- 2/ write that expected reports for that node is actually not expected. We can translate that in reports information with a special "overriden" status
- 3/ write that expected reports for that node is overriden by that other directive. We can translate that in the reports information with a special status "overriden by that directive".

It seems that from an user point of view, 3 > 2 > 1. Of course, the dev time is in the exact other way :)

To be faire: 1 and 2 should compare in complexity given our backend structure. And 3 may be not that much more difficult. Moire information to come !

Actions #10

Updated by Jonathan CLARKE over 9 years ago

  • Target version set to 140
Actions #11

Updated by François ARMAND over 9 years ago

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

Updated by François ARMAND over 9 years ago

  • Assignee changed from François ARMAND to Nicolas CHARLES

Nico, I set you for that one because it's likelly I won't be able to finish it.

For now, the logic to propagate what directive is overiden on which node to the update of expected reports is here. So it remains to do either 1/ or 3/ (2 is silly, has we have the information in base, it is not more difficult to write the CF3DraftId than a boolean).

So, if 1/ is chosen, the "update expected reports" logic must be updated to filter out directive for rule/node that are overriden.
If 3/ is chosen, in place of filtering out like in 1/ we need to add the relevant information in database ( expectedReportsNodes table is already updated with a "overriden" field - perhaps overriden_by would be better), and then use it when merging expected and received reports, at least managing case where we get a reports that should have been overriden (=> unexpected) and when we actually don't get a report (==> not applicable, or - not sure if necessary - a new Status, "overriden". But I don't see the point, it is really not applicable, and we can forge a message "that component is overiden by an other directive blablable).

Actions #13

Updated by Matthieu CERDA over 9 years ago

  • Target version changed from 140 to 3.0.0~beta1
Actions #14

Updated by François ARMAND over 9 years ago

  • Status changed from In progress to Pending technical review

For now, the first solution is implemented (filtered out overriden report without specific reporting on them).

Actions #15

Updated by François ARMAND over 9 years ago

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

Updated by Vincent MEMBRÉ over 9 years ago

  • Parent task set to #5899
Actions #19

Updated by Vincent MEMBRÉ over 9 years ago

  • Status changed from Pending release to Released

This bug has been fixed in Rudder 3.0.0~beta1 which was release on 01/12/2014.

Actions #20

Updated by François ARMAND over 8 years ago

  • Related to User story #7616: Overriden directives are not listed in reports information added
Actions

Also available in: Atom PDF