X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fauditor%2Falarm_handler.py;h=2847a8504be3f8bf7ca57028dd5f932bf38176fc;hb=7057b7c3d9dd4a397968baa2917c5bcff51aecaa;hp=305e919287837b3e68fc2b1baeee4c22aa948bb8;hpb=3ccbb8efc0a795bd583a6725e5c8f2bfc56f261f;p=pti%2Fo2.git diff --git a/o2ims/service/auditor/alarm_handler.py b/o2ims/service/auditor/alarm_handler.py index 305e919..2847a85 100644 --- a/o2ims/service/auditor/alarm_handler.py +++ b/o2ims/service/auditor/alarm_handler.py @@ -121,10 +121,10 @@ def create_by(fmobj: FaultGenericModel) -> AlarmEventRecord: return alarm_obj.PerceivedSeverityEnum.WARNING alarm_event_record.perceivedSeverity = severity_switch(content['severity']) alarm_event_record.probableCauseId = fmobj.probable_cause_id + + extensions = json.dumps(fmobj.filtered) + alarm_event_record.extensions = extensions alarm_event_record.hash = fmobj.hash - # logger.info('severity: ' + content['severity']) - # logger.info('perceived severity: ' - # + alarm_event_record.perceivedSeverity) alarm_event_record.events.append(events.AlarmEventChanged( id=fmobj.id, notificationEventType=AlarmNotificationEventEnum.NEW, @@ -137,9 +137,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, @@ -219,18 +220,21 @@ def check_res_id(uow: AbstractUnitOfWork, fmobj: FaultGenericModel) -> str: entity_type_id = content['entity_type_id'] entity_instance_id = content['entity_instance_id'] if 'host' == entity_type_id: - logger.info('host: ' + entity_instance_id) + logger.debug('host: ' + entity_instance_id) hostname = entity_instance_id.split('.')[0].split('=')[1] with uow: respools = uow.resource_pools.list() respoolids = [respool.resourcePoolId for respool in respools if respool.oCloudId == respool.resourcePoolId] + restype = uow.resource_types.get_by_name('pserver') - hosts = uow.resources.list(respoolids[0], **{ - 'resourceTypeId': restype.resourceTypeId - }) + args = [ocloud.Resource.resourceTypeId == + restype.resourceTypeId] + hosts = uow.resources.list(respoolids[0], *args) for host in hosts: - if host.name == hostname: + logger.debug('host extensions: ' + host.extensions) + extensions = json.loads(host.extensions) + if extensions['hostname'] == hostname: return host.resourceId else: return ""