Feature 11047: Vim Flavor Name as Ns Config Template 61/14761/4
authorkayal2001 <kayalvizhi.v@tataelxsi.co.in>
Thu, 28 Nov 2024 05:17:32 +0000 (10:47 +0530)
committerkayal2001 <kayalvizhi.v@tataelxsi.co.in>
Thu, 12 Dec 2024 09:51:04 +0000 (15:21 +0530)
Change-Id: Iea89c560fdcf736cf14e104736feab48c81b2114
Signed-off-by: kayal2001 <kayalvizhi.v@tataelxsi.co.in>
osm_nbi/descriptor_topics.py
osm_nbi/instance_topics.py
osm_nbi/validation.py

index 287dbda..36b1d65 100644 (file)
@@ -2320,6 +2320,15 @@ class NsConfigTemplateTopic(DescriptorTopic):
                     for key, value in edit_content_param.items():
                         param = key
                         param_content = value
+                        if param == "vnf":
+                            for content in param_content:
+                                for vdu in content.get("vdu"):
+                                    if vdu.get("vim-flavor-name") and vdu.get(
+                                        "vim-flavor-id"
+                                    ):
+                                        raise EngineException(
+                                            "Instantiation parameters vim-flavor-name and vim-flavor-id are mutually exclusive"
+                                        )
                         validate_input(param_content, self.instantiation_params[param])
             return final_content
         except Exception as e:
index 6308e56..c336229 100644 (file)
@@ -374,6 +374,15 @@ class NsrTopic(BaseTopic):
                     ns_config_template_db, "ns_config_template", self.db
                 )
 
+            elif ns_request.get("vnf"):
+                vnf_data = ns_request.get("vnf")
+                for vnf in vnf_data:
+                    for vdu in vnf.get("vdu"):
+                        if vdu.get("vim-flavor-name") and vdu.get("vim-flavor-id"):
+                            raise EngineException(
+                                "Instantiation parameters vim-flavor-name and vim-flavor-id are mutually exclusive"
+                            )
+
             step = "checking nsdOperationalState"
             self._check_nsd_operational_state(nsd, ns_request)
 
index e27cfb0..0ba0a5f 100644 (file)
@@ -159,6 +159,7 @@ ns_instantiate_vdu = {
         "id": name_schema,
         "vim-flavor-id": name_schema,
         "instance_name": name_schema,
+        "vim-flavor-name": name_schema,
         "volume": {
             "type": "array",
             "minItems": 1,