diff options
author | fujinhua <fu.jinhua@zte.com.cn> | 2018-10-17 13:12:11 +0800 |
---|---|---|
committer | fujinhua <fu.jinhua@zte.com.cn> | 2018-10-17 13:12:55 +0800 |
commit | 66cf2b12009a9e6a78dd89633e73e4d514e6912f (patch) | |
tree | c63f7446cde32c5355d9ea5c6e6698bf38e47035 | |
parent | 0bb97fffee35f0cda747b27ce2637bab8ce30df5 (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.py | 13 |
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) |