Ns descriptor related stuffs. 95/62295/1
authorlaili <lai.li@zte.com.cn>
Fri, 24 Aug 2018 09:36:29 +0000 (17:36 +0800)
committerlaili <lai.li@zte.com.cn>
Fri, 24 Aug 2018 09:36:39 +0000 (17:36 +0800)
Check before uploading.

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

index 6eaa118..8b39467 100644 (file)
@@ -141,21 +141,6 @@ def delete_single(nsd_info_id):
     ns_pkgs.delete()
 
 
-def upload(remote_file, nsd_info_id):
-    local_file_name = remote_file.name
-    local_file_dir = os.path.join(CATALOG_ROOT_PATH, nsd_info_id)
-    local_file_name = os.path.join(local_file_dir, local_file_name)
-    if not os.path.exists(local_file_dir):
-        fileutil.make_dirs(local_file_dir)
-    with open(local_file_name, 'wb') as local_file:
-        if remote_file.multiple_chunks(chunk_size=None):
-            for chunk in remote_file.chunks():
-                local_file.write(chunk)
-        else:
-            data = remote_file.read()
-            local_file.write(data)
-
-
 def process(nsd_info_id, local_file_name):
     nsd_json = toscaparser.parse_nsd(local_file_name)
     nsd = json.JSONDecoder().decode(nsd_json)
@@ -186,6 +171,25 @@ def process(nsd_info_id, local_file_name):
     ).save()
 
 
+def upload(remote_file, 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)
+
+    local_file_name = remote_file.name
+    local_file_dir = os.path.join(CATALOG_ROOT_PATH, nsd_info_id)
+    local_file_name = os.path.join(local_file_dir, local_file_name)
+    if not os.path.exists(local_file_dir):
+        fileutil.make_dirs(local_file_dir)
+    with open(local_file_name, 'wb') as local_file:
+        if remote_file.multiple_chunks(chunk_size=None):
+            for chunk in remote_file.chunks():
+                local_file.write(chunk)
+        else:
+            data = remote_file.read()
+            local_file.write(data)
+
+
 def download(nsd_info_id):
     ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
     if not ns_pkgs.exists():
index d52e82f..43ed841 100644 (file)
@@ -96,6 +96,10 @@ def process(pnfd_info_id, local_file_name):  # TODO: onboardingState changes
 
 
 def upload(files, pnfd_info_id):
+    ns_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
+    if not ns_pkgs.exists():
+        raise CatalogException('The NS descriptor (%s) does not exist.' % pnfd_info_id)
+
     remote_files = files
     for remote_file in remote_files:
         local_file_name = remote_file.name