diff options
author | fujinhua <fu.jinhua@zte.com.cn> | 2018-11-13 19:19:56 +0800 |
---|---|---|
committer | fujinhua <fu.jinhua@zte.com.cn> | 2018-11-13 19:29:00 +0800 |
commit | 92d9e175088e540099129f3e808e4750234ae68d (patch) | |
tree | 7b0ac6b7ea8ea5a7b6520492fda2e0ba64cf5595 | |
parent | 2585198f61e73f7d59d9f6b27dad7f23730f6479 (diff) |
Fix pnf upload logic
Change-Id: I639abfce5ebf57cb469434877495c2353453ac9b
Issue-ID: VFC-1163
Signed-off-by: fujinhua <fu.jinhua@zte.com.cn>
-rw-r--r-- | catalog/packages/biz/pnf_descriptor.py | 8 | ||||
-rw-r--r-- | catalog/packages/tests/test_pnf_descriptor.py | 5 |
2 files changed, 10 insertions, 3 deletions
diff --git a/catalog/packages/biz/pnf_descriptor.py b/catalog/packages/biz/pnf_descriptor.py index 2a5ccc14..ddadb4c5 100644 --- a/catalog/packages/biz/pnf_descriptor.py +++ b/catalog/packages/biz/pnf_descriptor.py @@ -168,9 +168,11 @@ class PnfDescriptor(object): if pnfdVersion == "": pnfdName = pnfd["metadata"].get("name", "") - if pnfd_id and PnfPackageModel.objects.filter(pnfdId=pnfd_id): - logger.info('PNFD(%s) already exists.' % pnfd_id) - raise CatalogException("PNFD(%s) already exists." % pnfd_id) + if pnfd_id: + other_pnf = PnfPackageModel.objects.filter(pnfdId=pnfd_id) + if other_pnf and other_pnf[0].pnfPackageId != pnfd_info_id: + logger.info('PNFD(%s) already exists.' % pnfd_id) + raise CatalogException("PNFD(%s) already exists." % pnfd_id) pnf_pkgs.update( pnfdId=pnfd_id, diff --git a/catalog/packages/tests/test_pnf_descriptor.py b/catalog/packages/tests/test_pnf_descriptor.py index 277676f7..a722d805 100644 --- a/catalog/packages/tests/test_pnf_descriptor.py +++ b/catalog/packages/tests/test_pnf_descriptor.py @@ -178,6 +178,11 @@ class TestPnfDescriptor(TestCase): PnfPackageModel( pnfPackageId='22', usageState=PKG_STATUS.NOT_IN_USE, + pnfdId="zte-1.1" + ).save() + PnfPackageModel( + pnfPackageId='23', + usageState=PKG_STATUS.NOT_IN_USE, pnfdId="zte-1.0" ).save() mock_parse_pnfd.return_value = json.JSONEncoder().encode(pnfd_data) |