def delete_vnf_pkg(self, vnf_pkg_id): vnf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnf_pkg_id) if not vnf_pkg.exists(): logger.debug('VNF package(%s) has been deleted.' % vnf_pkg_id) return ''' if vnf_pkg[0].operationalState != PKG_STATUS.DISABLED: raise GenericparserException("The VNF package (%s) is not disabled" % vnf_pkg_id) if vnf_pkg[0].usageState != PKG_STATUS.NOT_IN_USE: raise GenericparserException("The VNF package (%s) is in use" % vnf_pkg_id) ''' del_vnfd_id = vnf_pkg[0].vnfdId ns_pkgs = NSPackageModel.objects.all() for ns_pkg in ns_pkgs: nsd_model = None if ns_pkg.nsdModel: nsd_model = json.JSONDecoder().decode(ns_pkg.nsdModel) if not nsd_model: continue for vnf in nsd_model['vnfs']: if del_vnfd_id == vnf["properties"]["descriptor_id"]: raise GenericparserException('VNFD(%s) is referenced.' % del_vnfd_id) vnf_pkg.delete() vnf_pkg_path = os.path.join(GENERICPARSER_ROOT_PATH, vnf_pkg_id) fileutil.delete_dirs(vnf_pkg_path) logger.info('VNF package(%s) has been deleted.' % vnf_pkg_id)
def delete_single(self, pnfd_info_id): logger.info('Start to delete PNFD(%s)...' % pnfd_info_id) pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id) if not pnf_pkgs.exists(): logger.info('PNFD(%s) has been deleted.' % pnfd_info_id) return ''' if pnf_pkgs[0].usageState != PKG_STATUS.NOT_IN_USE: logger.info('PNFD(%s) shall be NOT_IN_USE.' % pnfd_info_id) raise GenericparserException('PNFD(%s) shall be NOT_IN_USE.' % pnfd_info_id) ''' del_pnfd_id = pnf_pkgs[0].pnfdId ns_pkgs = NSPackageModel.objects.all() for ns_pkg in ns_pkgs: nsd_model = None if ns_pkg.nsdModel: nsd_model = json.JSONDecoder().decode(ns_pkg.nsdModel) if not nsd_model: continue for pnf in nsd_model['pnfs']: if del_pnfd_id == pnf["properties"]["id"]: logger.warn("PNFD(%s) is referenced in NSD", del_pnfd_id) raise GenericparserException('PNFD(%s) is referenced.' % pnfd_info_id) pnf_pkgs.delete() pnf_pkg_path = os.path.join(GENERICPARSER_ROOT_PATH, pnfd_info_id) fileutil.delete_dirs(pnf_pkg_path) logger.debug('PNFD(%s) has been deleted.' % pnfd_info_id)
def rollback_distribute(self): try: VnfPackageModel.objects.filter(vnfPackageId=self.csar_id).delete() fileutil.delete_dirs(self.csar_save_path) except Exception as e: logger.error(e.args[0]) logger.error(traceback.format_exc()) logger.error(str(sys.exc_info()))
def delete_single(self, serviced_info_id): logger.info('Start to delete ServiceD(%s)...' % serviced_info_id) service_pkgs = ServicePackageModel.objects.filter( servicePackageId=serviced_info_id) if not service_pkgs.exists(): logger.warn('ServiceD(%s) not found.' % serviced_info_id) raise PackageNotFoundException("Service package[%s] not Found." % serviced_info_id) service_pkgs.delete() service_pkg_path = os.path.join(GENERICPARSER_ROOT_PATH, serviced_info_id) fileutil.delete_dirs(service_pkg_path) logger.info('ServiceD(%s) has been deleted.' % serviced_info_id)
def delete_csar(self): JobUtil.create_job( inst_type='nf', jobaction='delete', inst_id=self.csar_id, job_id=self.job_id) JobUtil.add_job_status(self.job_id, 5, "Start to delete CSAR(%s)." % self.csar_id) VnfPackageModel.objects.filter(vnfPackageId=self.csar_id).delete() JobUtil.add_job_status(self.job_id, 50, "Delete local CSAR(%s) file." % self.csar_id) csar_save_path = os.path.join(GENERICPARSER_ROOT_PATH, self.csar_id) fileutil.delete_dirs(csar_save_path) JobUtil.add_job_status(self.job_id, 100, "Delete CSAR(%s) successfully." % self.csar_id)
def delete_single(self, nsd_info_id): logger.info('Start to delete NSD(%s)...' % nsd_info_id) ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id) if not ns_pkgs.exists(): logger.info('NSD(%s) has been deleted.' % nsd_info_id) return ''' if ns_pkgs[0].operationalState != PKG_STATUS.DISABLED: logger.error('NSD(%s) shall be DISABLED.' % nsd_info_id) raise GenericparserException('NSD(%s) shall be DISABLED.' % nsd_info_id) if ns_pkgs[0].usageState != PKG_STATUS.NOT_IN_USE: logger.error('NSD(%s) shall be NOT_IN_USE.' % nsd_info_id) raise GenericparserException('NSD(%s) shall be NOT_IN_USE.' % nsd_info_id) ''' ns_pkgs.delete() ns_pkg_path = os.path.join(GENERICPARSER_ROOT_PATH, nsd_info_id) fileutil.delete_dirs(ns_pkg_path) logger.info('NSD(%s) has been deleted.' % nsd_info_id)