1 package org.onap.holmes.droolsRule;
3 import org.onap.holmes.common.dmaap.DmaapService;
4 import org.onap.holmes.common.api.stat.VesAlarm;
5 import org.onap.holmes.common.aai.CorrelationUtil;
6 import org.onap.holmes.common.dmaap.entity.PolicyMsg;
7 import org.onap.holmes.common.dropwizard.ioc.utils.ServiceLocatorHolder;
8 import org.onap.holmes.common.utils.DroolsLog;
11 rule "Relation_analysis_Rule"
15 $root : VesAlarm(alarmIsCleared == 0,
16 $sourceId: sourceId, sourceId != null && !sourceId.equals(""),
17 $sourceName: sourceName, sourceName != null && !sourceName.equals(""),
18 $startEpochMicrosec: startEpochMicrosec,
19 eventName in ("Fault_MultiCloud_VMFailure"),
21 $child : VesAlarm( eventId != $eventId, parentId == null,
22 CorrelationUtil.getInstance().isTopologicallyRelated(sourceId, $sourceId, $sourceName),
23 eventName in ("Fault_IMSSBC_Backup MPU is down"),
24 startEpochMicrosec < $startEpochMicrosec + 600000000 && startEpochMicrosec > $startEpochMicrosec - 600000000 )
26 DroolsLog.printInfo("Correlation Identified: Root: ID=" + $root.getEventId() + ", Event Name=" + $root.getEventName() +"; Child: ID=" + $child.getEventId() + ", Event Name=" + $child.getEventName());
27 $child.setParentId($root.getEventId());
31 rule "root_has_child_handle_Rule"
35 $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0, $eventId: eventId)
36 $child : VesAlarm(eventId != $eventId, parentId == $eventId)
38 DroolsLog.printInfo("Root alarm: ID=" + $root.getEventId() + ", Event Name=" + $root.getEventName());
39 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
40 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, $child, "org.onap.holmes.droolsRule");
41 dmaapService.publishPolicyMsg(policyMsg, "unauthenticated.DCAE_CL_OUTPUT");
46 rule "root_no_child_handle_Rule"
50 $root : VesAlarm(alarmIsCleared == 0, rootFlag == 0,
51 sourceId != null && !sourceId.equals(""),
52 sourceName != null && !sourceName.equals(""),
53 eventName in ("Fault_MultiCloud_VMFailure"))
55 DroolsLog.printInfo("New alarm: ID=" + $root.getEventId() + ", Event Name=" + $root.getEventName());
56 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
57 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
58 dmaapService.publishPolicyMsg(policyMsg, "unauthenticated.DCAE_CL_OUTPUT");
63 rule "root_cleared_handle_Rule"
67 $root : VesAlarm(alarmIsCleared == 1, rootFlag == 1)
69 DroolsLog.printInfo("Alarm cleared: ID=" + $root.getEventId() + ", Event Name=" + $root.getEventName());
70 DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
71 PolicyMsg policyMsg = dmaapService.getPolicyMsg($root, null, "org.onap.holmes.droolsRule");
72 dmaapService.publishPolicyMsg(policyMsg, "unauthenticated.DCAE_CL_OUTPUT");
76 rule "child_handle_Rule"
80 $child : VesAlarm(alarmIsCleared == 1, rootFlag == 0)
82 DroolsLog.printInfo("Alarm cleared: ID=" + $child.getEventId() + ", Event Name=" + $child.getEventName());