Fix bug 2414: descriptor validation should skip storage and compute desc for PDUs
Change-Id: I4cc0ad8cfd3805a7c530a41a265226efdb1791e6
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/osm_nbi/descriptor_topics.py b/osm_nbi/descriptor_topics.py
index 7a034fa..b2d6639 100644
--- a/osm_nbi/descriptor_topics.py
+++ b/osm_nbi/descriptor_topics.py
@@ -1319,8 +1319,10 @@
for vcd in get_iterable(indata.get("virtual-compute-desc")):
all_vcd_ids.add(vcd.get("id"))
- for vdus in get_iterable(indata.get("vdu")):
- for vsd_ref in vdus.get("virtual-storage-desc"):
+ for vdu in get_iterable(indata.get("vdu")):
+ if "pdu-type" in vdu:
+ continue
+ for vsd_ref in vdu.get("virtual-storage-desc"):
if vsd_ref and vsd_ref not in all_vsd_ids:
raise EngineException(
"vdu[virtual-storage-desc='{}']"
@@ -1330,13 +1332,15 @@
http_code=HTTPStatus.UNPROCESSABLE_ENTITY,
)
- for vdus in get_iterable(indata.get("vdu")):
- vcd_ref = vdus.get("virtual-compute-desc")
+ for vdu in get_iterable(indata.get("vdu")):
+ if "pdu-type" in vdu:
+ continue
+ vcd_ref = vdu.get("virtual-compute-desc")
if vcd_ref and vcd_ref not in all_vcd_ids:
raise EngineException(
"vdu[virtual-compute-desc='{}']"
"not defined in vnfd".format(
- vdus["virtual-compute-desc"],
+ vdu["virtual-compute-desc"],
),
http_code=HTTPStatus.UNPROCESSABLE_ENTITY,
)