transaction records cleanup 44/127044/2
authorjhh <jorge.hernandez-herrero@att.com>
Thu, 10 Feb 2022 03:09:30 +0000 (21:09 -0600)
committerjhh <jorge.hernandez-herrero@att.com>
Thu, 10 Feb 2022 03:18:44 +0000 (21:18 -0600)
Issue-ID: POLICY-3761
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
Change-Id: Id842d8ca5773d0c1104ae387519375fb914bdf4f
Signed-off-by: jhh <jorge.hernandez-herrero@att.com>
controlloop/common/controller-usecases/src/main/resources/usecases.drl
controlloop/common/controller-usecases/src/test/java/org/onap/policy/controlloop/UsecasesTest.java
controlloop/common/feature-controlloop-trans/src/main/java/org/onap/policy/drools/apps/controlloop/feature/trans/CacheBasedControlLoopMetricsManager.java

index 932b08c..0e1f7de 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -160,7 +160,8 @@ rule "EVENT"
             notification.setNotification(ControlLoopNotificationType.REJECTED);
             notification.setFrom("policy");
             notification.setMessage("Missing requestId");
-            notification.setPolicyName($params.getPolicyName() + "." + drools.getRule().getName());
+            notification.setPolicyScope(drools.getRule().getName());
+            notification.setPolicyName($params.getPolicyName());
             notification.setPolicyVersion($params.getPolicyVersion());
 
         } else {
@@ -179,7 +180,9 @@ rule "EVENT"
 
                     notification = manager.makeNotification();
                     notification.setNotification(ControlLoopNotificationType.ACTIVE);
-                    notification.setPolicyName($params.getPolicyName() + "." + drools.getRule().getName());
+                    notification.setPolicyScope(drools.getRule().getName());
+                    notification.setPolicyName($params.getPolicyName());
+                    notification.setPolicyVersion($params.getPolicyVersion());
 
                 } else {
                     // Note: the notification will be generated lazily
@@ -197,7 +200,8 @@ rule "EVENT"
         notification = new VirtualControlLoopNotification($event);
         notification.setNotification(ControlLoopNotificationType.REJECTED);
         notification.setMessage("Exception occurred: " + e.getMessage());
-        notification.setPolicyName($params.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($params.getPolicyName());
         notification.setPolicyVersion($params.getPolicyVersion());
     }
     //
@@ -374,7 +378,9 @@ rule "EVENT.MANAGER.ACCEPT"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.ACTIVE);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         $manager.deliver("POLICY-CL-MGT", notification, "notification", drools.getRule().getName());
 
     } catch(RuntimeException e) {
@@ -508,7 +514,9 @@ rule "EVENT.MANAGER.PROCESS.GUARD.OUTCOME"
     try {
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.OPERATION);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory(Collections.emptyList());
 
         // get actor/operation name from the policy step, not from the guard step
@@ -570,7 +578,9 @@ rule "EVENT.MANAGER.PROCESS.POLICY.STARTED"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.OPERATION);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory(Collections.emptyList());
         notification.setMessage($manager.getOperationMessage());
 
@@ -662,7 +672,9 @@ rule "EVENT.MANAGER.PROCESS.POLICY.SUCCESS"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.OPERATION_SUCCESS);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory($manager.getPartialHistory().stream().map(OperationOutcome2::getClOperation)
                                 .collect(Collectors.toList()));
 
@@ -724,7 +736,9 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.ACCEPTED"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.OPERATION_FAILURE);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory($manager.getPartialHistory().stream().map(OperationOutcome2::getClOperation)
                                 .collect(Collectors.toList()));
 
@@ -781,7 +795,9 @@ rule "EVENT.MANAGER.PROCESS.FINAL.FAILURE.REJECTED"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.REJECTED);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory($manager.getPartialHistory().stream().map(OperationOutcome2::getClOperation)
                                 .collect(Collectors.toList()));
 
@@ -835,7 +851,9 @@ rule "EVENT.MANAGER.PROCESS.POLICY.FAILURE"
 
         VirtualControlLoopNotification notification = $manager.makeNotification();
         notification.setNotification(ControlLoopNotificationType.OPERATION_FAILURE);
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
 
         $manager.deliver("POLICY-CL-MGT", notification, "notification", drools.getRule().getName());
 
@@ -981,7 +999,9 @@ rule "EVENT.MANAGER.FINAL"
 
     try {
         VirtualControlLoopNotification notification = $manager.makeNotification();
-        notification.setPolicyName($manager.getPolicyName() + "." + drools.getRule().getName());
+        notification.setPolicyScope(drools.getRule().getName());
+        notification.setPolicyName($manager.getPolicyName());
+        notification.setPolicyVersion($manager.getPolicyVersion());
         notification.setHistory($manager.getFullHistory().stream().map(OperationOutcome2::getClOperation)
                                     .collect(Collectors.toList()));
 
index ef40d30..5077f8f 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2020-2021 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2020-2022 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -90,18 +90,23 @@ public class UsecasesTest extends DroolsRuleTest {
         String policyName = policy.getIdentifier().getName();
 
         policyClMgt.await(notif -> notif.getNotification() == ControlLoopNotificationType.ACTIVE
-                        && (policyName + ".EVENT.MANAGER.ACCEPT").equals(notif.getPolicyName()));
+                        && "EVENT.MANAGER.ACCEPT".equals(notif.getPolicyScope())
+                        && policyName.equals(notif.getPolicyName()));
 
         policyClMgt.await(notif -> notif.getNotification() == ControlLoopNotificationType.OPERATION
-                        && (policyName + ".EVENT.MANAGER.PROCESS.GUARD.OUTCOME").equals(notif.getPolicyName())
+                        && "EVENT.MANAGER.PROCESS.GUARD.OUTCOME".equals(notif.getPolicyScope())
+                        && policyName.equals(notif.getPolicyName())
                         && notif.getMessage().startsWith("Sending guard query"));
 
         policyClMgt.await(notif -> notif.getNotification() == ControlLoopNotificationType.OPERATION
-                        && (policyName + ".EVENT.MANAGER.PROCESS.GUARD.OUTCOME").equals(notif.getPolicyName())
-                        && notif.getMessage().startsWith("Guard result") && notif.getMessage().endsWith("Permit"));
+                        && "EVENT.MANAGER.PROCESS.GUARD.OUTCOME".equals(notif.getPolicyScope())
+                        && policyName.equals(notif.getPolicyName())
+                        && notif.getMessage().startsWith("Guard result")
+                        && notif.getMessage().endsWith("Permit"));
 
         policyClMgt.await(notif -> notif.getNotification() == ControlLoopNotificationType.OPERATION
-                        && (policyName + ".EVENT.MANAGER.PROCESS.POLICY.STARTED").equals(notif.getPolicyName())
+                        && "EVENT.MANAGER.PROCESS.POLICY.STARTED".equals(notif.getPolicyScope())
+                        && policyName.equals(notif.getPolicyName())
                         && notif.getMessage().startsWith("actor="));
     }
 
@@ -110,7 +115,8 @@ public class UsecasesTest extends DroolsRuleTest {
                     Listener<VirtualControlLoopNotification> policyClMgt, ControlLoopNotificationType finalType) {
 
         return policyClMgt.await(notif -> notif.getNotification() == finalType
-                        && (policy.getIdentifier().getName() + ".EVENT.MANAGER.FINAL").equals(notif.getPolicyName()));
+                        && "EVENT.MANAGER.FINAL".equals(notif.getPolicyScope())
+                        && (policy.getIdentifier().getName()).equals(notif.getPolicyName()));
     }
 
     @Override
index d0b7912..66a9750 100644 (file)
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2022 AT&T Intellectual Property. All rights reserved.
  * ================================================================================
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -248,9 +248,22 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics {
     protected void evicted(VirtualControlLoopNotification notification) {
         MdcTransaction
                 .newTransaction(notification.getRequestId().toString(), notification.getFrom())
-                .setServiceName(notification.getClosedLoopControlName()).setTargetEntity(notification.getTarget())
-                .setStartTime(notification.getNotificationTime().toInstant()).setEndTime(Instant.now())
-                .setResponseDescription("EVICTED").setStatusCode(false).metric().resetTransaction();
+                .setServiceName(notification.getClosedLoopControlName())
+                .setServiceInstanceId(notification.getPolicyName() + ":" + notification.getPolicyVersion())
+                .setProcessKey("" + notification.getAai())
+                .setTargetEntity(notification.getTargetType() + "." + notification.getTarget())
+                .setResponseCode(UNKNOWN_RESPONSE_CODE)
+                .setStartTime(notification.getNotificationTime().toInstant())
+                .setEndTime(Instant.now())
+                .setResponseDescription("EVICTED")
+                .setStatusCode(false)
+                .setCustomField1((notification.getNotification() != null)
+                                         ? notification.getNotification().name() : "")
+                .setCustomField2(notification.getPolicyScope())
+                .setClientIpAddress(notification.getClosedLoopEventClient())
+                .metric()
+                .resetTransaction();
+
     }
 
     @Override
@@ -291,8 +304,7 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics {
         return MdcTransaction
                 .newTransaction(notification.getRequestId().toString(), notification.getFrom())
                 .setServiceName(notification.getClosedLoopControlName())
-                .setServiceInstanceId(notification.getPolicyScope()
-                    + ":" + notification.getPolicyName() + ":" + notification.getPolicyVersion())
+                .setServiceInstanceId(notification.getPolicyName() + ":" + notification.getPolicyVersion())
                 .setProcessKey("" + notification.getAai())
                 .setTargetEntity(notification.getTargetType() + "." + notification.getTarget())
                 .setResponseCode((notification.getNotification() != null)
@@ -300,6 +312,7 @@ class CacheBasedControlLoopMetricsManager implements ControlLoopMetrics {
                     : UNKNOWN_RESPONSE_CODE)
                 .setCustomField1((notification.getNotification() != null)
                     ? notification.getNotification().name() : "")
+                .setCustomField2(notification.getPolicyScope())
                 .setResponseDescription(notification.getMessage())
                 .setClientIpAddress(notification.getClosedLoopEventClient());
     }