From: kayal2001 Date: Thu, 28 Nov 2024 05:17:32 +0000 (+0530) Subject: Feature 11047: Vim Flavor Name as Ns Config Template X-Git-Tag: v17.0.0~7 X-Git-Url: https://osm.etsi.org/gitweb/?a=commitdiff_plain;h=b16cf25e37c8690e003f04747b220ef9c32b2de4;p=osm%2FNBI.git Feature 11047: Vim Flavor Name as Ns Config Template Change-Id: Iea89c560fdcf736cf14e104736feab48c81b2114 Signed-off-by: kayal2001 --- diff --git a/osm_nbi/descriptor_topics.py b/osm_nbi/descriptor_topics.py index 287dbda..36b1d65 100644 --- a/osm_nbi/descriptor_topics.py +++ b/osm_nbi/descriptor_topics.py @@ -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: diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py index 6308e56..c336229 100644 --- a/osm_nbi/instance_topics.py +++ b/osm_nbi/instance_topics.py @@ -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) diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py index e27cfb0..0ba0a5f 100644 --- a/osm_nbi/validation.py +++ b/osm_nbi/validation.py @@ -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,