X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_mon%2Fevaluator%2Fevaluator.py;h=cc9a8adb55acda56a2fec25bc7bd9c2814027903;hb=1b7145f6d0d3c0090b7a33b4972861ad9ed48631;hp=d3fdfd50f9051162250bcebb5603e7a1c2ad8f74;hpb=a97bdb3eafa4f3d07d61d32635f7f36f5cc36c58;p=osm%2FMON.git diff --git a/osm_mon/evaluator/evaluator.py b/osm_mon/evaluator/evaluator.py index d3fdfd5..cc9a8ad 100644 --- a/osm_mon/evaluator/evaluator.py +++ b/osm_mon/evaluator/evaluator.py @@ -28,8 +28,8 @@ import time import peewee from osm_mon.core.config import Config -from osm_mon.core.database import Alarm from osm_mon.core.message_bus_client import MessageBusClient +from osm_mon.core.models import Alarm from osm_mon.core.response import ResponseBuilder from osm_mon.evaluator.service import EvaluatorService, AlarmStatus @@ -61,10 +61,14 @@ class Evaluator: def evaluate(self): log.debug('evaluate') alarms_tuples = self.service.evaluate_alarms() + processes = [] for alarm, status in alarms_tuples: p = multiprocessing.Process(target=self.notify_alarm, args=(alarm, status)) p.start() + processes.append(p) + for process in processes: + process.join(timeout=10) def notify_alarm(self, alarm: Alarm, status: AlarmStatus): log.debug("notify_alarm") @@ -74,16 +78,17 @@ class Evaluator: def _build_alarm_response(self, alarm: Alarm, status: AlarmStatus): response = ResponseBuilder() + tags = {} + for tag in alarm.tags: + tags[tag.name] = tag.value now = time.strftime("%d-%m-%Y") + " " + time.strftime("%X") return response.generate_response( 'notify_alarm', alarm_id=alarm.uuid, - vdu_name=alarm.vdur_name, - vnf_member_index=alarm.vnf_member_index, - ns_id=alarm.nsr_id, - metric_name=alarm.monitoring_param, + metric_name=alarm.metric, operation=alarm.operation, threshold_value=alarm.threshold, sev=alarm.severity, status=status.value, - date=now) + date=now, + tags=tags)