Adds use of aiokafka in mon-server
[osm/MON.git] / osm_mon / evaluator / evaluator.py
index 7613e0b..8f49a66 100644 (file)
@@ -59,7 +59,7 @@ class Evaluator:
             OSM_METRIC_PREFIX + metric_name, nsr_id, vdur_name, vnf_member_index)
         request_url = cfg.OSMMON_PROMETHEUS_URL + "/api/v1/query?" + query_section
         log.info("Querying Prometheus: %s", request_url)
-        r = requests.get(request_url)
+        r = requests.get(request_url, timeout=cfg.OSMMON_REQUEST_TIMEOUT)
         if r.status_code == 200:
             json_response = r.json()
             if json_response['status'] == 'success':
@@ -136,8 +136,15 @@ class Evaluator:
                 processes.append(p)
                 p.start()
             if 'vnf-metric' in vnf_monitoring_param:
-                log.warning("vnf-metric is not currently supported.")
-                continue
+                vnf_metric_name = vnf_monitoring_param['vnf-metric']['vnf-metric-name-ref']
+                p = multiprocessing.Process(target=self._evaluate_metric,
+                                            args=(nsr_id,
+                                                  vnf_member_index,
+                                                  '',
+                                                  vnf_metric_name,
+                                                  alarm))
+                processes.append(p)
+                p.start()
 
         for process in processes:
             process.join()
@@ -157,7 +164,7 @@ class Evaluator:
         # Generate and send response
         resp_message = response.generate_response(
             'notify_alarm',
-            alarm_id=alarm.id,
+            alarm_id=alarm.uuid,
             vdu_name=alarm.vdur_name,
             vnf_member_index=alarm.vnf_member_index,
             ns_id=alarm.nsr_id,