getAdditionalField(alarm, "networkId"),
getAdditionalField(alarm, "node"),
getAdditionalField(alarm, "tp-id"),
- getAdditionalField(alarm, "oper-status")
+ null
);
}
return logicLinkA.equals(logicLinkB);
}
-function void updateAaiStatus(String networkId, String pnfName, String ifName,
- String linkName, String status) {
+function void updateAaiLinkStatus(String linkName, String status) {
AaiQuery4Ccvpn aai = AaiQuery4Ccvpn.newInstance();
Map<String, Object> body = new HashMap<String, Object>(){
{
}
};
aai.updateLogicLinkStatus(linkName, body);
+}
+
+function void updateAaiTpStatus(String networkId, String pnfName, String ifName, String status) {
+ AaiQuery4Ccvpn aai = AaiQuery4Ccvpn.newInstance();
+ Map<String, Object> body = new HashMap<String, Object>(){
+ {
+ put("operational-status", status);
+ }
+ };
aai.updateTerminalPointStatus(networkId, pnfName, ifName, body);
}
Map<String, Object> ret = new HashMap<String, Object>();
- StringBuilder sb = new StringBuilder();
+ StringBuilder sbn = new StringBuilder();
+ StringBuilder sbi = new StringBuilder();
for(int i = 0; i < instances.size(); ++i) {
JSONObject o = instances.getJSONObject(i);
String name = o.getString("service-instance-name");
- ret.put(name + ".input-parameters", o.getString("input-parameters"));
- sb.append(name).append(",");
+ String id = o.getString("service-instance-id");
+ ret.put(id + ".input-parameters", o.getString("input-parameters"));
+ sbn.append(name).append(",");
+ sbi.append(id).append(",");
}
- ret.put("service-instance.service-instance-name", sb.substring(0, sb.length() -1).toString());
+ ret.put("service-instance.service-instance-name", sbn.substring(0, sbn.length() -1).toString());
+ ret.put("service-instance.service-instance-id", sbi.substring(0, sbi.length() -1).toString());
ret.put("vserver.vserver-name", "TBD");
ret.put("globalSubscriberId", instances.getJSONObject(0).getString("globalSubscriberId"));
ret.put("serviceType", instances.getJSONObject(0).getString("serviceType"));
when
$a: VesAlarm(eventName.indexOf("Fault_Route_Status") != -1)
then
- updateAaiStatus (
+ updateAaiTpStatus (
getAdditionalField($a, "networkId"),
getAdditionalField($a, "node"),
getAdditionalField($a, "tp-id"),
- getLogicLink($a),
getAdditionalField($a, "oper-status")
);
end
eventName.indexOf("Fault_Route_Status") != -1,
Math.abs(startEpochMicrosec - $start) < 60000)
then
- if ("down".equalsIgnoreCase(getAdditionalField($a, "oper-status"))
- && "down".equalsIgnoreCase(getAdditionalField($b, "oper-status"))) {
+ String status = "down";
+ if (status.equalsIgnoreCase(getAdditionalField($a, "oper-status"))
+ && status.equalsIgnoreCase(getAdditionalField($b, "oper-status"))) {
if (isCorrelated($a, $b)){
// If any of the alarms have been marked as root, a policy message has ever been created and sent. Do NOT send it again.
if ($a.getRootFlag() != 1 && $b.getRootFlag() != 1) {
PolicyMsg msg = createPolicyMsg($a);
DmaapService dmaapService = ServiceLocatorHolder.getLocator().getService(DmaapService.class);
dmaapService.publishPolicyMsg(msg, "unauthenticated.DCAE_CL_OUTPUT");
+ updateAaiLinkStatus(getLogicLink($a), status);
}
$a.setRootFlag(1);
$b.setRootFlag(1);