From f0b5ad18c352f128cc6af1cb354384dd8473e171 Mon Sep 17 00:00:00 2001 From: "Francois @fanf42 Armand" Date: Thu, 6 Jun 2019 12:26:09 +0200 Subject: [PATCH] Fixes #15022: NON STABLE POLICY ON NODE warning when the same directive is used in two rules --- .../rudder/services/policies/MergePolicyService.scala | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/services/policies/MergePolicyService.scala b/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/services/policies/MergePolicyService.scala index f5e7431b2c7..81e2ea652f4 100644 --- a/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/services/policies/MergePolicyService.scala +++ b/webapp/sources/rudder/rudder-core/src/main/scala/com/normation/rudder/services/policies/MergePolicyService.scala @@ -299,7 +299,10 @@ final object MergePolicyService { val keep = samePriority.head //only one log for all discard draft - if(samePriority.size > 1) { + //we don't want to warn when the directive is the same but applied to two rules. In that case, + //it's actually stable, it's just that we want to make appear the override in rules + val differentDirectives = samePriority.groupBy(_.id.directiveId) + if(differentDirectives.size > 1) { PolicyLogger.warn(s"Unicity check: NON STABLE POLICY ON NODE '${nodeInfo.hostname}' for mono-instance (unique) technique "+ s"'${keep.technique.id}'. Several directives with same priority '${keep.priority}' are applied. "+ s"Keeping (ruleId@@directiveId) '${keep.id.ruleId.value}@@${keep.id.directiveId.value}' (order: ${keep.ruleOrder.value}/"+