Ns descriptor related stuffs. 17/61817/1
authorlaili <lai.li@zte.com.cn>
Wed, 22 Aug 2018 09:33:52 +0000 (17:33 +0800)
committerlaili <lai.li@zte.com.cn>
Wed, 22 Aug 2018 09:33:52 +0000 (17:33 +0800)
Add the biz for deletion of an individual nsd.

Change-Id: I023a4f17cd9e28f18e3875966a14edf2f1bc2fc6
Issue-ID: VFC-1037
Signed-off-by: laili <lai.li@zte.com.cn>
catalog/packages/biz/ns_descriptor.py

index ef76c9c..b9ebdf4 100644 (file)
@@ -142,6 +142,19 @@ def query_single(nsd_info_id):
     return data
 
 
+def delete_single(nsd_info_id):
+    ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
+    if not ns_pkgs.exists():
+        raise CatalogException('The NS descriptor (%s) does not exist.' % nsd_info_id)
+    if not ns_pkgs[0].nsdModel:
+        raise CatalogException('The NS descriptor (%s) is not ONBOARDED.' % nsd_info_id)
+    if ns_pkgs[0].operationalState != 'DISABLED':
+        raise CatalogException('The NS descriptor (%s) is not DISABLED.' % nsd_info_id)
+    if ns_pkgs[0].usageState != 'NOT_IN_USE':
+        raise CatalogException('The NS descriptor (%s) is not NOT_IN_USE.' % nsd_info_id)
+    ns_pkgs.delete()
+
+
 def upload(files, nsd_info_id):
     remote_files = files
     for remote_file in remote_files: