import logging
+from lcm.pub.config.config import REPORT_TO_AAI
from lcm.pub.database.models import NfInstModel, NfvoRegInfoModel
from lcm.pub.exceptions import NFLCMException
from lcm.pub.msapi.aai import query_vnf_aai, delete_vnf_aai
def do_biz(self):
try:
- vnf_insts = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
- if not vnf_insts.exists():
- logger.warn('VnfInst(%s) does not exist' % self.nf_inst_id)
- return
- #sel_vnf = vnf_insts[0]
- #if sel_vnf.status != 'NOT_INSTANTIATED':
- # raise NFLCMException("Don't allow to delete vnf(status:[%s])" % sel_vnf.status)
- NfInstModel.objects.filter(nfinstid=self.nf_inst_id).delete()
- NfvoRegInfoModel.objects.filter(nfvoid=self.nf_inst_id).delete()
-
- self.delete_vnf_in_aai()
+ self.check_parameter()
+ if REPORT_TO_AAI:
+ self.delete_vnf_in_aai()
+ self.delete_info_from_db()
except NFLCMException as e:
- logger.debug('Delete VNF instance[%s] from AAI failed' % self.nf_inst_id)
+ logger.debug('Delete VNF instance[%s] failed: %s', self.nf_inst_id, e.message)
except:
logger.debug('Delete VNF instance[%s] failed' % self.nf_inst_id)
+ def check_parameter(self):
+ vnf_insts = NfInstModel.objects.filter(nfinstid=self.nf_inst_id)
+ if not vnf_insts.exists():
+ logger.warn('VnfInst(%s) does not exist' % self.nf_inst_id)
+ return
+ # sel_vnf = vnf_insts[0]
+ # if sel_vnf.status != 'NOT_INSTANTIATED':
+ # raise NFLCMException("Don't allow to delete vnf(status:[%s])" % sel_vnf.status)
+
+ def delete_info_from_db(self):
+ NfInstModel.objects.filter(nfinstid=self.nf_inst_id).delete()
+ NfvoRegInfoModel.objects.filter(nfvoid=self.nf_inst_id).delete()
+
def delete_vnf_in_aai(self):
logger.debug("DeleteVnf::delete_vnf_in_aai::delete vnf instance[%s] in aai." % self.nf_inst_id)