fix vnfmodel error 92/72292/1
authormaopengzhang <zhang.maopeng1@zte.com.cn>
Fri, 9 Nov 2018 12:33:31 +0000 (20:33 +0800)
committermaopengzhang <zhang.maopeng1@zte.com.cn>
Fri, 9 Nov 2018 12:33:31 +0000 (20:33 +0800)
support multi exposed ports in vnfmodel, etc

Change-Id: I2407a557ebc61bffd77ea3bdfccdcbff5884777b
Issue-ID: VFC-1158
Signed-off-by: maopengzhang <zhang.maopeng1@zte.com.cn>
catalog/pub/utils/toscaparser/vnfdmodel.py

index ce0206f..8c1b97e 100644 (file)
@@ -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):