Update vnf instaniation code of gvnfm vnflcm
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / vnf_create / inst_vnf.py
index e94001e..c950e15 100644 (file)
@@ -91,6 +91,7 @@ class InstVnf(Thread):
         self.vnfd_info = json.JSONDecoder().decode(self.vnfd_info)
 
         self.vnfd_info = vnfd_model_dict  # just for test
+        self.update_cps()
 
         self.checkParameterExist()
         # update NfInstModel
@@ -392,6 +393,16 @@ class InstVnf(Thread):
     # def do_notify_delete(self, ret):
     #     logger.error('Deleting [%s] resource' % ret)
 
+    def update_cps(self):
+        for extlink in ignore_case_get(self.data, "extVirtualLinks"):
+            for cp in self.vnfd_info["cps"]:
+                cpdid = ignore_case_get(extlink, "cpdId")
+                if cpdid == ignore_case_get(cp, "cp_id"):
+                    cp["networkId"] = ignore_case_get(extlink, "resourceId")
+                    cp["subnetId"] = ignore_case_get(extlink, "resourceSubnetId")
+                    break
+        pass
+
     def checkParameterExist(self):
         # if ignore_case_get(self.data, "flavourId") not in self.vnfd_info:
         #     raise NFLCMException('Input parameter is not defined in vnfd_info.')