X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Flcm%2Fnf%2Fvnfs%2Fvnf_cancel%2Fdelete_vnf_identifier.py;h=91d92089055bfa42ac50d05a5ef96f15920c4947;hb=413288222272a379b87ff89aee95f2333e025da1;hp=107d9ab5e54346f5d67a9791d7d9e27f29f4f0e1;hpb=9f34de4930b7afa5ba6c1da61a5dedc0b2fa5d92;p=vfc%2Fgvnfm%2Fvnflcm.git diff --git a/lcm/lcm/nf/vnfs/vnf_cancel/delete_vnf_identifier.py b/lcm/lcm/nf/vnfs/vnf_cancel/delete_vnf_identifier.py index 107d9ab5..91d92089 100644 --- a/lcm/lcm/nf/vnfs/vnf_cancel/delete_vnf_identifier.py +++ b/lcm/lcm/nf/vnfs/vnf_cancel/delete_vnf_identifier.py @@ -11,20 +11,34 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -from lcm.pub.database.models import NfInstModel +import logging + +from lcm.pub.aaiapi.aai import delete_vnf +from lcm.pub.database.models import NfInstModel, NfvoRegInfoModel from lcm.pub.exceptions import NFLCMException +logger = logging.getLogger(__name__) + class DeleteVnf: - def __init__(self, data, instanceId): + def __init__(self, data, instanceid): self.data = data - self.nf_inst_id = instanceId + self.nf_inst_id = instanceid def do_biz(self): - sel_vnfs = NfInstModel.objects.filter(pk=self.nf_inst_id) - if not sel_vnfs.exists(): - raise NFLCMException('VnfInst(%s) does not exist.' % self.nf_inst_id) - sel_vnf = sel_vnfs[0] - if sel_vnf.instantiationState != 'VNF_INSTANTIATED': - raise NFLCMException("No instantiated vnf") - pass \ No newline at end of file + 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() + + delete_vnf(self.nf_inst_id) + except NFLCMException as e: + logger.debug('Delete VNF instance[%s] from AAI failed' % self.nf_inst_id) + except: + logger.debug('Delete VNF instance[%s] failed' % self.nf_inst_id)