Don't write information to resmanagement
[vfc/nfvo/lcm.git] / lcm / ns_vnfs / biz / terminate_nfs.py
index c479348..c663669 100644 (file)
@@ -18,14 +18,14 @@ import threading
 import traceback
 
 from lcm.pub.config.config import REPORT_TO_AAI
-from lcm.pub.database.models import NfInstModel, VmInstModel, OOFDataModel
+from lcm.pub.database.models import NfInstModel, VmInstModel, OOFDataModel, PortInstModel
 from lcm.pub.exceptions import NSLCMException
 from lcm.pub.msapi import resmgr
 from lcm.pub.msapi.aai import query_vnf_aai, delete_vnf_aai, query_vserver_aai, delete_vserver_aai
 from lcm.pub.msapi.extsys import split_vim_to_owner_region, get_vim_by_id
 from lcm.pub.msapi.vnfmdriver import send_nf_terminate_request
 from lcm.pub.utils.jobutil import JobUtil
-from lcm.pub.enum import JOB_MODEL_STATUS
+from lcm.jobs.enum import JOB_MODEL_STATUS
 from lcm.pub.utils.values import ignore_case_get
 from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
 from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
@@ -57,17 +57,17 @@ class TerminateVnfs(threading.Thread):
             self.check_nf_valid()
             self.send_nf_terminate_to_vnfmDriver()
             self.wait_vnfm_job_finish()
-            self.send_terminate_vnf_to_resMgr()
+            self.send_terminate_vnf_to_resMgr()
             if REPORT_TO_AAI:
                 self.delete_vserver_in_aai()
                 self.delete_vnf_in_aai()
             self.delete_subscription()
             self.delete_data_from_db()
         except NSLCMException as e:
-            self.set_job_err(e.message)
+            self.set_job_err(e.args[0])
         except Exception as ex:
             logger.error(traceback.format_exc())
-            self.set_job_err(ex.message)
+            self.set_job_err(ex.args[0])
 
     def set_vnf_status(self, vnf_inst_info):
         vnf_status = vnf_inst_info.status
@@ -92,6 +92,7 @@ class TerminateVnfs(threading.Thread):
         vnf_inst_info = self.get_vnf_inst()
         if not vnf_inst_info:
             self.add_progress(100, "TERM_VNF_NOT_EXIST_SUCCESS", "finished")
+            return None
         self.add_progress(2, "GET_VNF_INST_SUCCESS")
         self.vnfm_inst_id = vnf_inst_info.vnfm_inst_id
         self.vnf_uuid = vnf_inst_info.mnfinstid
@@ -138,9 +139,13 @@ class TerminateVnfs(threading.Thread):
             raise NSLCMException('VNF terminate failed on VNFM side.')
 
     def delete_subscription(self):
-        SubscriptionDeletion(self.vnfm_inst_id, self.vnf_inst_id).do_biz()
+        try:
+            SubscriptionDeletion(self.vnfm_inst_id, self.vnf_uuid).do_biz()
+        except Exception as e:
+            logger.error("delete_subscription failed: %s", e.args[0])
 
     def delete_data_from_db(self):
+        PortInstModel.objects.filter(instid=self.vnf_inst_id).delete()
         NfInstModel.objects.filter(nfinstid=self.vnf_inst_id).delete()
         VmInstModel.objects.filter(instid=self.vnf_inst_id).delete()
         OOFDataModel.objects.filter(service_resource_id=self.vnf_inst_id).delete()
@@ -158,7 +163,7 @@ class TerminateVnfs(threading.Thread):
             logger.debug(
                 "Success to delete vnf[%s] from aai, resp_status: [%s]." % (self.vnf_inst_id, resp_status))
         except NSLCMException as e:
-            logger.debug("Fail to delete vnf from aai[%s], detail message: %s" % (self.vnf_inst_id, e.message))
+            logger.debug("Fail to delete vnf from aai[%s], detail message: %s" % (self.vnf_inst_id, e.args[0]))
         except:
             logger.error(traceback.format_exc())
 
@@ -171,7 +176,7 @@ class TerminateVnfs(threading.Thread):
                 vim_id = vm_inst_info.vimid
                 cloud_owner, cloud_region_id = split_vim_to_owner_region(vim_id)
                 # query vim_info from aai, get tenant
-                vim_info = get_vim_by_id(vim_id)
+                vim_info = get_vim_by_id({"cloud_owner": cloud_owner, 'cloud_regionid': cloud_region_id})
                 tenant_id = vim_info["tenantId"]
 
                 # query vserver instance in aai, get resource_version
@@ -186,6 +191,6 @@ class TerminateVnfs(threading.Thread):
                     (vserver_id, resp_status))
             logger.debug("delete_vserver_in_aai end!")
         except NSLCMException as e:
-            logger.debug("Fail to delete vserver from aai, detail message: %s" % e.message)
+            logger.debug("Fail to delete vserver from aai, detail message: %s" % e.args[0])
         except:
             logger.error(traceback.format_exc())