Feature 10916: Remove VNF Instance from NS - NS Update
Added support for input validation of Remove VNF update type
Added unit test cases
Change-Id: Ia294114ef093a0cf8a8ba141fc4710cef1bd3b98
Signed-off-by: elumalai <deepika.e@tataelxsi.co.in>
diff --git a/osm_nbi/instance_topics.py b/osm_nbi/instance_topics.py
index 787f6e1..2df6a7d 100644
--- a/osm_nbi/instance_topics.py
+++ b/osm_nbi/instance_topics.py
@@ -1278,6 +1278,9 @@
- it checks the vnfInstanceId, whether it's available under ns instance
- it checks the vnfdId whether it matches with the vnfd-id in the vnf-record of specified VNF.
Otherwise exception will be raised.
+ If updateType is REMOVE_VNF:
+ - it checks if the vnfInstanceId is available in the ns instance
+ - Otherwise exception will be raised.
Args:
indata: includes updateType such as CHANGE_VNFPKG,
@@ -1338,6 +1341,14 @@
),
http_code=HTTPStatus.UNPROCESSABLE_ENTITY,
)
+ elif indata["updateType"] == "REMOVE_VNF":
+ vnf_instance_id = indata["removeVnfInstanceId"]
+ ns_instance_id = indata["nsInstanceId"]
+ if vnf_instance_id not in nsr["constituent-vnfr-ref"]:
+ raise EngineException(
+ "Invalid VNF Instance Id. '{}' is not "
+ "present in the NS '{}'".format(vnf_instance_id, ns_instance_id)
+ )
except (
DbException,