From 0fdb27870e23bb773a4fec938876772ed3e2bad1 Mon Sep 17 00:00:00 2001 From: garciadeblas Date: Thu, 6 Nov 2025 15:39:55 +0100 Subject: [PATCH] Fix bug 2414: descriptor validation should skip storage and compute desc for PDUs Change-Id: I4cc0ad8cfd3805a7c530a41a265226efdb1791e6 Signed-off-by: garciadeblas --- osm_nbi/descriptor_topics.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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 @@ class VnfdTopic(DescriptorTopic): 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 @@ class VnfdTopic(DescriptorTopic): 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, ) -- 2.25.1