X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Fauditor%2Falarm_handler.py;h=e24e4c96211c9b6355e39356fba23be5697a70b0;hb=60034d77380cf7d11ca28d292df3f93a601d1568;hp=2bd2681e06bff43f1410719af24ac09661079123;hpb=c34ab47848138150a1456be2fa9f82d7260e37b8;p=pti%2Fo2.git diff --git a/o2ims/service/auditor/alarm_handler.py b/o2ims/service/auditor/alarm_handler.py index 2bd2681..e24e4c9 100644 --- a/o2ims/service/auditor/alarm_handler.py +++ b/o2ims/service/auditor/alarm_handler.py @@ -37,6 +37,8 @@ def update_alarm( + " id: " + str(fmobj.id) + " hash: " + str(fmobj.hash)) with uow: + resourcepool = uow.resource_pools.get(cmd.parentid) + alarm_event_record = uow.alarm_event_records.get(fmobj.id) if not alarm_event_record: logger.info("add alarm event record:" + fmobj.name @@ -52,17 +54,15 @@ def update_alarm( # TODO: handle different resource type hostname = entity_instance_id.split('.')[0].split('=')[1] logger.debug('hostname: ' + hostname) - 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') localmodel.resourceTypeId = restype.resourceTypeId - hosts = uow.resources.list(respoolids[0], **{ + hosts = uow.resources.list(resourcepool.resourcePoolId, **{ 'resourceTypeId': restype.resourceTypeId }) for host in hosts: - if host.name == hostname: + 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 @@ -72,6 +72,18 @@ def update_alarm( # 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 + + undefined_res = uow.resources.list( + resourcepool.resourcePoolId, **{ + 'resourceTypeId': restype.resourceTypeId + }) + localmodel.resourceId = undefined_res[0].resourceId + uow.alarm_event_records.add(localmodel) + logger.info("Add the alarm event record: " + fmobj.id + + ", name: " + fmobj.name) else: localmodel = alarm_event_record