fix bug for delete vserver in aai
[vfc/nfvo/lcm.git] / lcm / ns_vnfs / biz / terminate_nfs.py
index 073f256..8f9f5ec 100644 (file)
@@ -24,9 +24,11 @@ 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 JOB_MODEL_STATUS, JobUtil
+from lcm.pub.utils.jobutil import JobUtil
+from lcm.jobs.enum import JOB_MODEL_STATUS
 from lcm.pub.utils.values import ignore_case_get
-from lcm.ns_vnfs.const import VNF_STATUS, NFVO_VNF_INST_TIMEOUT_SECOND, INST_TYPE
+from lcm.ns_vnfs.const import NFVO_VNF_INST_TIMEOUT_SECOND
+from lcm.ns_vnfs.enum import VNF_STATUS, INST_TYPE
 from lcm.ns_vnfs.biz.wait_job import wait_job_finish
 from lcm.ns_vnfs.biz.subscribe import SubscriptionDeletion
 
@@ -62,10 +64,10 @@ class TerminateVnfs(threading.Thread):
             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
@@ -136,7 +138,10 @@ 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_inst_id).do_biz()
+        except Exception as e:
+            logger.error("delete_subscription failed: %s", e.args[0])
 
     def delete_data_from_db(self):
         NfInstModel.objects.filter(nfinstid=self.vnf_inst_id).delete()
@@ -156,7 +161,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())
 
@@ -169,7 +174,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
@@ -184,6 +189,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())