From: fujinhua Date: Wed, 17 Oct 2018 05:12:11 +0000 (+0800) Subject: Fix del pnf package logic X-Git-Tag: 1.2.0^0 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F32%2F70632%2F2;p=vfc%2Fnfvo%2Fcatalog.git Fix del pnf package logic Change-Id: Ifb916753203c23d61d5bcfb9f01a2838f34fb471 Issue-ID: VFC-1151 Signed-off-by: fujinhua --- diff --git a/catalog/packages/biz/pnf_descriptor.py b/catalog/packages/biz/pnf_descriptor.py index 78b55b0c..528fd178 100644 --- a/catalog/packages/biz/pnf_descriptor.py +++ b/catalog/packages/biz/pnf_descriptor.py @@ -91,6 +91,7 @@ class PnfDescriptor(object): logger.info('PNFD(%s) shall be NOT_IN_USE.' % pnfd_info_id) raise CatalogException('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 @@ -98,16 +99,10 @@ class PnfDescriptor(object): nsd_model = json.JSONDecoder().decode(ns_pkg.nsdModel) if not nsd_model: continue - pnf_info_ids = [] for pnf in nsd_model['pnfs']: - pnfd_id = pnf["properties"]["id"] - pkgs = PnfPackageModel.objects.filter(pnfdId=pnfd_id) - for pkg in pkgs: - pnf_info_ids.append(pkg.pnfPackageId) - if pnfd_info_id in pnf_info_ids: - logger.info('PNFD(%s) is referenced.' % pnfd_info_id) - raise CatalogException('PNFD(%s) is referenced.' % pnfd_info_id) - + if del_pnfd_id == pnf["properties"]["id"]: + logger.warn("PNFD(%s) is referenced in NSD", del_pnfd_id) + raise CatalogException('PNFD(%s) is referenced.' % pnfd_info_id) pnf_pkgs.delete() pnf_pkg_path = os.path.join(CATALOG_ROOT_PATH, pnfd_info_id) fileutil.delete_dirs(pnf_pkg_path)