Modify code of vnf instantiation
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / vnfs / vnf_create / inst_vnf.py
index 361a301..3078dbd 100644 (file)
@@ -22,7 +22,7 @@ from lcm.pub.database.models import NfInstModel, VmInstModel, NetworkInstModel,
     SubNetworkInstModel, PortInstModel, StorageInstModel, FlavourInstModel, VNFCInstModel
 from lcm.pub.exceptions import NFLCMException
 from lcm.pub.msapi.catalog import query_rawdata_from_catalog
-from lcm.pub.msapi.nfvolcm import apply_grant_to_nfvo, notify_lcm_to_nfvo, get_packageinfo_by_vnfdid
+from lcm.pub.msapi.gvnfmdriver import apply_grant_to_nfvo, notify_lcm_to_nfvo, get_packageinfo_by_vnfdid
 from lcm.pub.utils import toscautil
 from lcm.pub.utils.jobutil import JobUtil
 from lcm.pub.utils.timeutil import now_time
@@ -76,7 +76,8 @@ class InstVnf(Thread):
 
         JobUtil.add_job_status(self.job_id, 10, 'Get rawdata from catalog by csar_id')
         input_parameters = []
-        for key, val in self.data['additionalParams'].items():
+        inputs = ignore_case_get(self.data['additionalParams'], "inputs")
+        for key, val in inputs.items():
             input_parameters.append({"key": key, "value": val})
         raw_data = query_rawdata_from_catalog(self.package_id, input_parameters)
         self.vnfd_info = toscautil.convert_vnfd_model(raw_data["rawData"])  # convert to inner json
@@ -86,12 +87,17 @@ class InstVnf(Thread):
         self.update_cps()
 
         self.check_parameter_exist()
+        metadata = ignore_case_get(self.vnfd_info, "metadata")
+        version = ignore_case_get(metadata, "vnfd_version")
+        vendor = ignore_case_get(metadata, "vendor")
+        netype = ignore_case_get(metadata, "vnf_type")
+        vnfsoftwareversion = ignore_case_get(metadata, "version")
+        vnfd_model = self.vnfd_info
         NfInstModel.objects.filter(nfinstid=self.nf_inst_id).\
-            update(flavour_id=ignore_case_get(self.data, "flavourId"),
-                   input_params=self.data,
-                   vnfd_model=self.vnfd_info,
-                   localizationLanguage=ignore_case_get(self.data, 'localizationLanguage'),
-                   lastuptime=now_time())
+            update(package_id=self.package_id, flavour_id=ignore_case_get(self.data, "flavourId"), version=version,
+                   vendor=vendor, netype=netype, vnfd_model=vnfd_model, status='NOT_INSTANTIATED', vnfdid=self.vnfd_id,
+                   localizationLanguage=ignore_case_get(self.data, 'localizationLanguage'), input_params=self.data,
+                   vnfSoftwareVersion=vnfsoftwareversion, lastuptime=now_time())
         JobUtil.add_job_status(self.job_id, 15, 'Nf instancing pre-check finish')
         logger.info("Nf instancing pre-check finish")