Feature 10339 - Enhanced Alarm Mgmt. (SOL005 FM Interface)

Change-Id: I917a09ebc4c3b262b5dea8056cae775615a654d6
Signed-off-by: Atul Agarwal <atul.agarwal@altran.com>
diff --git a/osm_policy_module/alarming/service.py b/osm_policy_module/alarming/service.py
index 37fa6a1..b93dba7 100644
--- a/osm_policy_module/alarming/service.py
+++ b/osm_policy_module/alarming/service.py
@@ -101,6 +101,14 @@
                                 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 @@
                                     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"],