Feature 10339 - Enhanced Alarm Mgmt. (SOL005 FM Interface)
[osm/POL.git] / osm_policy_module / alarming / service.py
index 37fa6a1..b93dba7 100644 (file)
@@ -101,6 +101,14 @@ class AlarmingService:
                                 metric_name = self._get_metric_name(
                                     vnf_monitoring_param
                                 )
+                                alarm_action = dict()
+                                for action_type in ["ok", "insufficient-data", "alarm"]:
+                                    if "actions" in alarm_descriptor and action_type in alarm_descriptor["actions"]:
+                                        for url in alarm_descriptor["actions"][action_type]:
+                                            if "webhook" in alarm_action:
+                                                alarm_action["webhook"].append(url["url"])
+                                            else:
+                                                alarm_action["webhook"] = [url["url"]]
                                 alarm_uuid = await self.mon_client.create_alarm(
                                     metric_name=metric_name,
                                     ns_id=nsr_id,
@@ -108,6 +116,7 @@ class AlarmingService:
                                     vnf_member_index=vnfr["member-vnf-index-ref"],
                                     threshold=alarm_descriptor["value"],
                                     operation=alarm_descriptor["operation"],
+                                    action=str(alarm_action),
                                 )
                                 alarm = VnfAlarmRepository.create(
                                     alarm_id=alarm_descriptor["alarm-id"],