Fixes discrepancies with IM related to monitoring params
[osm/POL.git] / osm_policy_module / core / agent.py
index d637374..24f1004 100644 (file)
@@ -30,7 +30,7 @@ from json import JSONDecodeError
 import yaml
 from aiokafka import AIOKafkaConsumer
 
-from osm_policy_module.common.db_client import DbClient
+from osm_policy_module.common.common_db_client import CommonDbClient
 from osm_policy_module.common.lcm_client import LcmClient
 from osm_policy_module.common.mon_client import MonClient
 from osm_policy_module.core import database
@@ -48,7 +48,7 @@ class PolicyModuleAgent:
         if not loop:
             loop = asyncio.get_event_loop()
         self.loop = loop
-        self.db_client = DbClient()
+        self.db_client = CommonDbClient()
         self.mon_client = MonClient(loop=self.loop)
         self.lcm_client = LcmClient(loop=self.loop)
         self.kafka_server = '{}:{}'.format(cfg.OSMPOL_MESSAGE_HOST,
@@ -223,10 +223,13 @@ class PolicyModuleAgent:
                                         vnf_monitoring_param = next(
                                             filter(
                                                 lambda param: param['id'] == scaling_criteria[
-                                                    'vnf-monitoring-param-ref'],
+                                                    'vnf-monitoring-param-ref'
+                                                ],
                                                 vnf_monitoring_params)
                                         )
-                                        if not vdu_ref['vdu-id-ref'] == vnf_monitoring_param['vdu-ref']:
+                                        if vdu_ref['vdu-id-ref'] != vnf_monitoring_param['vdu-monitoring-param'][
+                                            'vdu-ref'
+                                        ]:
                                             continue
                                         vdu = next(
                                             filter(lambda vdu: vdu['id'] == vdu_ref['vdu-id-ref'], vnfd['vdu'])
@@ -235,11 +238,17 @@ class PolicyModuleAgent:
                                         vdu_monitoring_param = next(
                                             filter(
                                                 lambda param: param['id'] == vnf_monitoring_param[
-                                                    'vdu-monitoring-param-ref'],
+                                                    'vdu-monitoring-param'
+                                                ][
+                                                    'vdu-monitoring-param-ref'
+                                                ],
                                                 vdu_monitoring_params))
                                         vdurs = list(
-                                            filter(lambda vdur: vdur['vdu-id-ref'] == vnf_monitoring_param['vdu-ref'],
-                                                   vnfr['vdur']))
+                                            filter(lambda vdur: vdur['vdu-id-ref'] == vnf_monitoring_param[
+                                                'vdu-monitoring-param'
+                                            ][
+                                                'vdu-ref'
+                                            ], vnfr['vdur']))
                                         for vdur in vdurs:
                                             try:
                                                 (ScalingAlarm.select()