aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormaopengzhang <zhang.maopeng1@zte.com.cn>2018-11-09 20:33:31 +0800
committermaopengzhang <zhang.maopeng1@zte.com.cn>2018-11-09 20:33:31 +0800
commit009ef38cecd950729d260bbb1f600b3f564b8d92 (patch)
tree32e3d135539e6fc14e6d8eccb3a0d363f59b35ef
parentc22e5c1b317b7584076cb3b80005750100ed2d35 (diff)
fix vnfmodel error
support multi exposed ports in vnfmodel, etc Change-Id: I2407a557ebc61bffd77ea3bdfccdcbff5884777b Issue-ID: VFC-1158 Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
-rw-r--r--catalog/pub/utils/toscaparser/vnfdmodel.py18
1 files changed, 13 insertions, 5 deletions
diff --git a/catalog/pub/utils/toscaparser/vnfdmodel.py b/catalog/pub/utils/toscaparser/vnfdmodel.py
index ce0206fe..8c1b97ed 100644
--- a/catalog/pub/utils/toscaparser/vnfdmodel.py
+++ b/catalog/pub/utils/toscaparser/vnfdmodel.py
@@ -199,11 +199,19 @@ class EtsiVnfdInfoModel(BaseInfoModel):
def _get_external_cps(self, vnf_requirements):
external_cps = []
if vnf_requirements:
- for key, value in vnf_requirements.items():
- if isinstance(value, list) and len(value) > 0:
- external_cps.append({"key_name": key, "cpd_id": value[0]})
- else:
- external_cps.append({"key_name": key, "cpd_id": value})
+ if isinstance(vnf_requirements, dict):
+ for key, value in vnf_requirements.items():
+ if isinstance(value, list) and len(value) > 0:
+ external_cps.append({"key_name": key, "cpd_id": value[0]})
+ else:
+ external_cps.append({"key_name": key, "cpd_id": value})
+ elif isinstance(vnf_requirements, list):
+ for vnf_requirement in vnf_requirements:
+ for key, value in vnf_requirement.items():
+ if isinstance(value, list) and len(value) > 0:
+ external_cps.append({"key_name": key, "cpd_id": value[0]})
+ else:
+ external_cps.append({"key_name": key, "cpd_id": value})
return external_cps
def _get_forward_cps(self, vnf_capabilities):