aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfujinhua <fu.jinhua@zte.com.cn>2018-10-17 13:12:11 +0800
committerfujinhua <fu.jinhua@zte.com.cn>2018-10-17 13:12:55 +0800
commit66cf2b12009a9e6a78dd89633e73e4d514e6912f (patch)
treec63f7446cde32c5355d9ea5c6e6698bf38e47035
parent0bb97fffee35f0cda747b27ce2637bab8ce30df5 (diff)
Fix del pnf package logic1.2.0
Change-Id: Ifb916753203c23d61d5bcfb9f01a2838f34fb471 Issue-ID: VFC-1151 Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r--catalog/packages/biz/pnf_descriptor.py13
1 files changed, 4 insertions, 9 deletions
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)