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)
示例#3
0
 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()))
示例#4
0
 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)
示例#5
0
    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)