X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fauditor%2Falarm_handler.py;h=4c7c054cfe7940e7abe6ffacbb692e55083f2360;hb=1dd2947529e5910d37c55472bfc81915d3caa38b;hp=36be48f807b5dde39d2d644391c7d2d7f327a3e7;hpb=4fabba9d441a1762e8ebd99cca3cea11dd0f0b62;p=pti%2Fo2.git diff --git a/o2ims/service/auditor/alarm_handler.py b/o2ims/service/auditor/alarm_handler.py index 36be48f..4c7c054 100644 --- a/o2ims/service/auditor/alarm_handler.py +++ b/o2ims/service/auditor/alarm_handler.py @@ -19,7 +19,7 @@ import json # from o2common.config import config # from o2common.service.messagebus import MessageBus from o2common.service.unit_of_work import AbstractUnitOfWork -from o2ims.domain import events, commands, alarm_obj +from o2ims.domain import events, commands, alarm_obj, ocloud from o2ims.domain.alarm_obj import AlarmEventRecord, FaultGenericModel,\ AlarmNotificationEventEnum @@ -57,28 +57,25 @@ def update_alarm( restype = uow.resource_types.get_by_name('pserver') localmodel.resourceTypeId = restype.resourceTypeId - hosts = uow.resources.list(resourcepool.resourcePoolId, **{ - 'resourceTypeId': restype.resourceTypeId - }) + args = [ocloud.Resource.resourceTypeId == + restype.resourceTypeId] + hosts = uow.resources.list(resourcepool.resourcePoolId, *args) for host in hosts: - if host.name == hostname: + logger.debug('host extensions: ' + host.extensions) + extensions = json.loads(host.extensions) + if extensions['hostname'] == hostname: localmodel.resourceId = host.resourceId uow.alarm_event_records.add(localmodel) logger.info("Add the alarm event record: " + fmobj.id + ", name: " + fmobj.name) - # localmodel.resourceTypeId = check_restype_id(uow, fmobj) - # logger.debug("resource type ID: " + localmodel.resourceTypeId) - # localmodel.resourceId = check_res_id(uow, fmobj) - # logger.debug("resource ID: " + localmodel.resourceId) - # uow.alarm_event_records.add(localmodel) else: restype = uow.resource_types.get_by_name('undefined_aggregate') localmodel.resourceTypeId = restype.resourceTypeId + args = [ocloud.Resource.resourceTypeId == + restype.resourceTypeId] undefined_res = uow.resources.list( - resourcepool.resourcePoolId, **{ - 'resourceTypeId': restype.resourceTypeId - }) + resourcepool.resourcePoolId, *args) localmodel.resourceId = undefined_res[0].resourceId uow.alarm_event_records.add(localmodel) logger.info("Add the alarm event record: " + fmobj.id @@ -124,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, @@ -222,18 +219,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 ""