Add lcm notify call in vnf inst and term
[vfc/gvnfm/vnflcm.git] / lcm / lcm / nf / biz / create_vnf.py
index 34329a5..fc0891a 100644 (file)
@@ -13,7 +13,6 @@
 # limitations under the License.
 import json
 import logging
-import traceback
 import uuid
 
 from lcm.pub.database.models import NfInstModel
@@ -34,41 +33,10 @@ class CreateVnf:
 
     def do_biz(self):
         self.nf_inst_id = str(uuid.uuid4())
-        try:
-            self.check_valid()
-            self.save_db()
-        except NFLCMException as e:
-            logger.debug('Create VNF instance[%s]: %s', self.nf_inst_id, e.message)
-            raise NFLCMException(e.message)
-        except Exception as e:
-            logger.error(e.message)
-            logger.error(traceback.format_exc())
-            NfInstModel.objects.create(nfinstid=self.nf_inst_id,
-                                       nf_name=self.vnf_instance_mame,
-                                       package_id='',
-                                       version='',
-                                       vendor='',
-                                       netype='',
-                                       vnfd_model='',
-                                       status='NOT_INSTANTIATED',
-                                       nf_desc=self.description,
-                                       vnfdid=self.csar_id,
-                                       vnfSoftwareVersion='',
-                                       create_time=now_time())
+        self.check_valid()
+        self.save_db()
         vnf_inst = NfInstModel.objects.get(nfinstid=self.nf_inst_id)
-        resp = {
-            'id': vnf_inst.nfinstid,
-            'vnfInstanceName': vnf_inst.nf_name,
-            'vnfInstanceDescription': 'Human-readable description of the VNF instance.',
-            'vnfdId': vnf_inst.vnfdid,
-            'vnfProvider': vnf_inst.vendor,
-            'vnfProductName': vnf_inst.nf_name,
-            'vnfSoftwareVersion': vnf_inst.vnfSoftwareVersion,
-            'vnfdVersion': vnf_inst.version,
-            'vnfPkgId': vnf_inst.package_id,
-            'vnfConfigurableProperties': {}
-        }
-        return resp
+        return vnf_inst
 
     def check_valid(self):
         is_exist = NfInstModel.objects.filter(nf_name=self.vnf_instance_mame).exists()
@@ -79,17 +47,18 @@ class CreateVnf:
 
     def save_db(self):
         metadata = ignore_case_get(self.vnfd_info, "metadata")
-        version = ignore_case_get(metadata, "vnfdVersion")
-        vendor = ignore_case_get(metadata, "vendor")
-        netype = ignore_case_get(metadata, "type")
-        vnfsoftwareversion = ignore_case_get(metadata, "version")
+        version = ignore_case_get(metadata, "csarVersion", "undefined")
+        provider = ignore_case_get(metadata, "csarProvider", "undefined")
+        netype = ignore_case_get(metadata, "type", "undefined")
+        vnfsoftwareversion = ignore_case_get(metadata, "version", "undefined")
         NfInstModel.objects.create(nfinstid=self.nf_inst_id,
+                                   vnfminstid=ignore_case_get(self.data, "vnfmInstId", "undefined"),
                                    nf_name=self.vnf_instance_mame,
                                    package_id=self.csar_id,
                                    version=version,
-                                   vendor=vendor,
+                                   vendor=provider,
                                    netype=netype,
-                                   vnfd_model=self.vnfd_info,
+                                   vnfd_model=json.dumps(self.vnfd_info),
                                    status='NOT_INSTANTIATED',
                                    nf_desc=self.description,
                                    vnfdid=self.csar_id,