From 2bbc63232feec17ff8457894180e017d96712ec1 Mon Sep 17 00:00:00 2001
From: Nikolay Stanchev <ns17@it-innovation.soton.ac.uk>
Date: Thu, 1 Nov 2018 13:22:46 +0000
Subject: [PATCH] Updates alerts configuration to use servicefunctionchain
 insteaf of sfc as metadata key

---
 docs/AlertsSpecification.md                                   | 4 ++--
 .../clmcservice/alertsapi/alerts_specification_schema.py      | 2 +-
 src/service/clmcservice/alertsapi/tests.py                    | 2 +-
 src/service/clmcservice/alertsapi/views.py                    | 3 ++-
 .../clmc-validator/invalid/alerts_test_config-1.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-10.yaml         | 2 +-
 .../clmc-validator/invalid/alerts_test_config-11.yaml         | 2 +-
 .../clmc-validator/invalid/alerts_test_config-12.yaml         | 2 +-
 .../clmc-validator/invalid/alerts_test_config-2.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-3.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-4.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-5.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-6.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-7.yaml          | 2 +-
 .../clmc-validator/invalid/alerts_test_config-8.yaml          | 2 +-
 .../test-data/clmc-validator/valid/alerts_test_config-1.yaml  | 2 +-
 .../test-data/clmc-validator/valid/alerts_test_config-2.yaml  | 2 +-
 .../test-data/clmc-validator/valid/alerts_test_config-3.yaml  | 2 +-
 .../test-data/clmc-validator/valid/alerts_test_config-4.yaml  | 2 +-
 .../test-data/clmc-validator/valid/alerts_test_config-5.yaml  | 2 +-
 .../test-data/tosca-parser/invalid/alerts_test_config-1.yaml  | 2 +-
 .../test-data/tosca-parser/invalid/alerts_test_config-2.yaml  | 2 +-
 .../test-data/tosca-parser/invalid/alerts_test_config-3.yaml  | 2 +-
 .../test-data/tosca-parser/invalid/alerts_test_config-4.yaml  | 2 +-
 .../test-data/tosca-parser/valid/alerts_test_config-1.yaml    | 2 +-
 .../test-data/tosca-parser/valid/alerts_test_config-2.yaml    | 2 +-
 .../test-data/tosca-parser/valid/alerts_test_config-3.yaml    | 2 +-
 .../test-data/tosca-parser/valid/alerts_test_config-4.yaml    | 2 +-
 src/test/clmctest/alerts/alerts_test_config.yaml              | 2 +-
 29 files changed, 31 insertions(+), 30 deletions(-)

diff --git a/docs/AlertsSpecification.md b/docs/AlertsSpecification.md
index 98ea51f..5201432 100644
--- a/docs/AlertsSpecification.md
+++ b/docs/AlertsSpecification.md
@@ -54,7 +54,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 
 topology_template:
 
@@ -169,7 +169,7 @@ alerts specification relates to. The format is the following:
 
 ```yaml
 metadata:
-    sfc: <sfc_id>
+    servicefunctionchain: <sfc_id>
 ```
 
 ##### Policies
diff --git a/src/service/clmcservice/alertsapi/alerts_specification_schema.py b/src/service/clmcservice/alertsapi/alerts_specification_schema.py
index 72a8ce8..3db515f 100644
--- a/src/service/clmcservice/alertsapi/alerts_specification_schema.py
+++ b/src/service/clmcservice/alertsapi/alerts_specification_schema.py
@@ -75,7 +75,7 @@ ALERTS_SPECIFICATION_SCHEMA = Schema({
     Optional("description"): str,
     "imports": And([lambda s: s.endswith("flame_clmc_alerts_definitions.yaml")], lambda l: len(l) == 1),
     "metadata": {
-        "sfc": str
+        "servicefunctionchain": str
         # TODO next release - uncomment
         # "sfc": str,
         # "sfci": str
diff --git a/src/service/clmcservice/alertsapi/tests.py b/src/service/clmcservice/alertsapi/tests.py
index 845f243..dd22396 100644
--- a/src/service/clmcservice/alertsapi/tests.py
+++ b/src/service/clmcservice/alertsapi/tests.py
@@ -278,7 +278,7 @@ def extract_alert_spec_data(alert_spec):
     tosca_tpl = ToscaTemplate(yaml_dict_tpl=yaml_alert_spec)
     # TODO next release - uncomment
     # sfc, sfc_instance = tosca_tpl.tpl["metadata"]["sfc"], tosca_tpl.tpl["metadata"]["sfci"]
-    sfc, sfc_instance = tosca_tpl.tpl["metadata"]["sfc"], "{0}_1".format(tosca_tpl.tpl["metadata"]["sfc"])
+    sfc, sfc_instance = tosca_tpl.tpl["metadata"]["servicefunctionchain"], "{0}_1".format(tosca_tpl.tpl["metadata"]["servicefunctionchain"])
 
     alert_ids = []  # saves all alert IDs in a list
     topic_handlers = {}  # saves all topics in a dictionary, each topic is linked to a list of handler pairs (a handler pair consists of handler id and handler url)
diff --git a/src/service/clmcservice/alertsapi/views.py b/src/service/clmcservice/alertsapi/views.py
index 9418cc6..8e481a9 100644
--- a/src/service/clmcservice/alertsapi/views.py
+++ b/src/service/clmcservice/alertsapi/views.py
@@ -144,7 +144,8 @@ class AlertsConfigurationAPI(object):
         alert_spec_policy_triggers = get_alert_spec_policy_triggers(tosca_tpl)
         # TODO next release - uncomment
         # sfc, sfc_instance = tosca_tpl.tpl["metadata"]["sfc"], tosca_tpl.tpl["metadata"]["sfci"]
-        sfc, sfc_instance = tosca_tpl.tpl["metadata"]["sfc"], "{0}_1".format(tosca_tpl.tpl["metadata"]["sfc"])
+        sfc = tosca_tpl.tpl["metadata"]["servicefunctionchain"]
+        sfc_instance = "{0}_1".format(sfc)
 
         # do validation between the two TOSCA documents
         self._compare_alert_and_resource_spec(sfc, sfc_instance, alert_spec_policy_triggers, resource_spec_sfc, resource_spec_sfc_i, resource_spec_policy_triggers)
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-1.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-1.yaml
index f64e662..03515cf 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-1.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-1.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-10.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-10.yaml
index 52a734f..f17a697 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-10.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-10.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc_ID: companyA-VR # correct format is sfc, not sfc_ID
+  sfc_ID: companyA-VR # correct format is servicefunctionchain, not sfc_ID
 #  sfci_ID: companyA-VR-premium # correct format is sfci, not sfci_ID
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-11.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-11.yaml
index 1b7f49a..f18b60b 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-11.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-11.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-12.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-12.yaml
index c1c0f06..8e78967 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-12.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-12.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-2.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-2.yaml
index 6373ae5..b0fe2f0 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-2.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-2.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-3.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-3.yaml
index 6d82ad0..8b9aac9 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-3.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-3.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-4.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-4.yaml
index 32a1095..afc91e9 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-4.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-4.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-5.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-5.yaml
index 292a2d1..bab46da 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-5.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-5.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-6.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-6.yaml
index 01e5727..51ddff4 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-6.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-6.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-7.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-7.yaml
index 29fee97..e411c31 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-7.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-7.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-8.yaml b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-8.yaml
index 9ec4b20..ab7db8a 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-8.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/invalid/alerts_test_config-8.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-1.yaml b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-1.yaml
index 5793670..6db6518 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-1.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-1.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-2.yaml b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-2.yaml
index 2fc7a21..da3f8d7 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-2.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-2.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-3.yaml b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-3.yaml
index 28c08f9..11bcdb2 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-3.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-3.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-4.yaml b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-4.yaml
index 04c8944..25b250c 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-4.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-4.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-5.yaml b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-5.yaml
index 1cd95f5..d88fb00 100644
--- a/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-5.yaml
+++ b/src/service/resources/tosca/test-data/clmc-validator/valid/alerts_test_config-5.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-1.yaml b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-1.yaml
index 93bc161..96ac8e0 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-1.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-1.yaml
@@ -1,7 +1,7 @@
 # Fails since it doesn't specify tosca version, imports and topology_template root node is missing.
 
 metadata:
-    sfc: companyA-VR
+    servicefunctionchain: companyA-VR
 #    sfci: companyA-VR-premium
 triggers:
     high_latency:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-2.yaml b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-2.yaml
index 409d5ec..80dcc2c 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-2.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-2.yaml
@@ -5,7 +5,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-3.yaml b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-3.yaml
index 799a0b7..8536373 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-3.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-3.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-4.yaml b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-4.yaml
index 53da213..0c5293a 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-4.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/invalid/alerts_test_config-4.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 # Wrong section name, must be topology_template, not alerts
diff --git a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-1.yaml b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-1.yaml
index f602283..ec42380 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-1.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-1.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-2.yaml b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-2.yaml
index 3e8f706..d92076a 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-2.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-2.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VirtualReality
+  servicefunctionchain: companyA-VirtualReality
 #  sfci: premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-3.yaml b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-3.yaml
index 4536637..b11a1d1 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-3.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-3.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-4.yaml b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-4.yaml
index 43c7936..9e4d7a5 100644
--- a/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-4.yaml
+++ b/src/service/resources/tosca/test-data/tosca-parser/valid/alerts_test_config-4.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: companyA-VR
+  servicefunctionchain: companyA-VR
 #  sfci: companyA-VR-premium
 
 topology_template:
diff --git a/src/test/clmctest/alerts/alerts_test_config.yaml b/src/test/clmctest/alerts/alerts_test_config.yaml
index 829b55e..4d5bca9 100644
--- a/src/test/clmctest/alerts/alerts_test_config.yaml
+++ b/src/test/clmctest/alerts/alerts_test_config.yaml
@@ -6,7 +6,7 @@ imports:
 - flame_clmc_alerts_definitions.yaml
 
 metadata:
-  sfc: MS_Template_1
+  servicefunctionchain: MS_Template_1
 #  sfci: MS_I1
 
 topology_template:
-- 
GitLab