X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fauditor%2Falarm_handler.py;h=2847a8504be3f8bf7ca57028dd5f932bf38176fc;hb=refs%2Fheads%2Fmaster;hp=4c7c054cfe7940e7abe6ffacbb692e55083f2360;hpb=1dd2947529e5910d37c55472bfc81915d3caa38b;p=pti%2Fo2.git diff --git a/o2ims/service/auditor/alarm_handler.py b/o2ims/service/auditor/alarm_handler.py index 4c7c054..5f6ed35 100644 --- a/o2ims/service/auditor/alarm_handler.py +++ b/o2ims/service/auditor/alarm_handler.py @@ -41,10 +41,6 @@ def update_alarm( alarm_event_record = uow.alarm_event_records.get(fmobj.id) if not alarm_event_record: - logger.info("add alarm event record:" + fmobj.name - + " update_at: " + str(fmobj.updatetime) - + " id: " + str(fmobj.id) - + " hash: " + str(fmobj.hash)) localmodel = create_by(fmobj) content = json.loads(fmobj.content) entity_type_id = content['entity_type_id'] @@ -65,6 +61,14 @@ def update_alarm( extensions = json.loads(host.extensions) if extensions['hostname'] == hostname: localmodel.resourceId = host.resourceId + break + else: + # Example would be when alarm has host=controller + # TODO: Handle host=controller better + logger.warning( + 'Couldnt match alarm event ' + f'to hostname for: {content}') + return uow.alarm_event_records.add(localmodel) logger.info("Add the alarm event record: " + fmobj.id + ", name: " + fmobj.name) @@ -137,9 +141,10 @@ def create_by(fmobj: FaultGenericModel) -> AlarmEventRecord: def update_by(target: AlarmEventRecord, fmobj: FaultGenericModel ) -> None: # content = json.loads(fmobj.content) - target.hash = fmobj.hash if fmobj.status == 'clear': target.perceivedSeverity = alarm_obj.PerceivedSeverityEnum.CLEARED + + target.hash = fmobj.hash target.events.append(events.AlarmEventChanged( id=fmobj.id, notificationEventType=AlarmNotificationEventEnum.CLEAR,