fix bug: Failed to fetch NS package from SDC when having VL resource 74/106074/2
authordyh <dengyuanhong@chinamobile.com>
Thu, 16 Apr 2020 06:58:06 +0000 (14:58 +0800)
committerdyh <dengyuanhong@chinamobile.com>
Thu, 16 Apr 2020 07:35:28 +0000 (15:35 +0800)
Change-Id: I13bbbd1ce1a97348c99ad86b0d78dcefbd6bc7f6
Issue-ID: MODELING-354
Signed-off-by: dyh <dengyuanhong@chinamobile.com>
catalog/packages/biz/sdc_ns_package.py
catalog/pub/utils/restcall.py

index 553abb0..9183ce1 100644 (file)
@@ -17,14 +17,14 @@ import os
 import sys
 import traceback
 
+from catalog.packages.biz.ns_descriptor import NsDescriptor
 from catalog.pub.config.config import CATALOG_ROOT_PATH, CATALOG_URL_PATH
 from catalog.pub.config.config import REG_TO_MSB_REG_PARAM
-from catalog.pub.database.models import NSPackageModel, VnfPackageModel, PnfPackageModel
+from catalog.pub.database.models import NSPackageModel, VnfPackageModel
 from catalog.pub.exceptions import CatalogException
 from catalog.pub.msapi import sdc
-from catalog.pub.utils import toscaparser
-from catalog.packages.biz.ns_descriptor import NsDescriptor
 from catalog.pub.utils import fileutil
+from catalog.pub.utils import toscaparser
 
 logger = logging.getLogger(__name__)
 
@@ -124,10 +124,14 @@ class NsPackage(object):
         resources = ns.get('resources', None)
         if resources:
             for resource in resources:
-                if not VnfPackageModel.objects.filter(vnfPackageId=resource['resourceUUID']) and \
-                        not PnfPackageModel.objects.filter(pnfPackageId=resource['resourceUUID']):
-                    logger.error("Resource [%s] is not distributed.", resource['resourceUUID'])
-                    raise CatalogException("Resource (%s) is not distributed." % resource['resourceUUID'])
+                if resource['resoucreType'].upper == 'VF' and not VnfPackageModel.objects.filter(
+                        vnfPackageId=resource['resourceUUID']):
+                    logger.error("VF [%s] is not distributed.", resource['resourceUUID'])
+                    raise CatalogException("VF (%s) is not distributed." % resource['resourceUUID'])
+                # if resource['resoucreType'] == 'PNF' and not PnfPackageModel.objects.filter(
+                #         pnfPackageId=resource['resourceUUID']):
+                #     logger.error("PNF [%s] is not distributed.", resource['resourceUUID'])
+                #     raise CatalogException("PNF (%s) is not distributed." % resource['resourceUUID'])
 
         # download csar package
         local_path = os.path.join(CATALOG_ROOT_PATH, csar_id)
index 1499f8f..4348c49 100644 (file)
@@ -68,7 +68,7 @@ def call_req(base_url, user, passwd, auth_type, resource, method, content='', ad
                 raise ex
     except urllib.error.URLError as err:
         ret = [2, str(err), resp_status]
-    except Exception as ex:
+    except Exception:
         logger.error(traceback.format_exc())
         logger.error("[%s]ret=%s" % (callid, str(sys.exc_info())))
         res_info = str(sys.exc_info())