Add log and comment 65/126365/1
authordyh <dengyuanhong@chinamobile.com>
Wed, 22 Dec 2021 10:20:41 +0000 (18:20 +0800)
committerdyh <dengyuanhong@chinamobile.com>
Wed, 22 Dec 2021 10:21:15 +0000 (18:21 +0800)
Change-Id: Ib7575f0c41b46a8f25aa8470f39690cb3659e6c1
Issue-ID: MODELING-583
Signed-off-by: dyh <dengyuanhong@chinamobile.com>
catalog/packages/biz/notificationsutil.py
catalog/packages/biz/ns_descriptor.py
catalog/packages/biz/pnf_descriptor.py
catalog/packages/biz/sdc_ns_package.py
catalog/packages/biz/sdc_service_package.py
catalog/packages/biz/sdc_vnf_package.py
catalog/packages/biz/service_descriptor.py
catalog/packages/biz/vnf_package.py
catalog/packages/biz/vnf_pkg_artifacts.py
catalog/packages/biz/vnf_pkg_subscription.py
catalog/pub/msapi/sdc.py

index 93c26c7..adb9645 100644 (file)
@@ -33,6 +33,10 @@ logger = logging.getLogger(__name__)
 
 
 class NotificationsUtil(object):
+    """
+    Util for notifications
+    """
+
     def __init__(self, notification_type):
         self.notification_type = notification_type
         self.notifyserializer = None
@@ -41,6 +45,10 @@ class NotificationsUtil(object):
         pass
 
     def send_notification(self):
+        """
+        Send notification
+        :return:
+        """
         notification = self.prepare_notification()
 
         subscriptions_filter = {v + "__contains": notification[k] for k, v in self.filter.items()}
@@ -79,6 +87,13 @@ class NotificationsUtil(object):
                 self.post_notification(callbackuri, notification)
 
     def post_notification(self, callbackuri, notification, auth_info=None):
+        """
+        Post notification
+        :param callbackuri:
+        :param notification:
+        :param auth_info:
+        :return:
+        """
         try:
             if auth_info:
                 if const.BASIC in auth_info.get("authType", ''):
@@ -116,6 +131,10 @@ class NotificationsUtil(object):
 
 
 class PkgNotifications(NotificationsUtil):
+    """
+    Notification Utils for VNF pckages
+    """
+
     def __init__(self, notification_type, vnf_pkg_id, change_type=None, operational_state=None):
         super(PkgNotifications, self).__init__(notification_type)
         self.filter = {
@@ -133,6 +152,10 @@ class PkgNotifications(NotificationsUtil):
             self.notifyserializer = PkgOnboardingNotificationSerializer
 
     def prepare_notification(self):
+        """
+        Prepare notification
+        :return:
+        """
         logger.info('Start to prepare Pkgnotification')
 
         vnf_pkg = VnfPackageModel.objects.filter(vnfPackageId=self.vnf_pkg_id)
@@ -161,6 +184,10 @@ class PkgNotifications(NotificationsUtil):
 
 
 class NsdNotifications(NotificationsUtil):
+    """
+    Notification Util for NS packages
+    """
+
     def __init__(self, notification_type, nsd_info_id, nsd_id, failure_details=None, operational_state=None):
         super(NsdNotifications, self).__init__(notification_type)
         self.filter = {
@@ -180,6 +207,10 @@ class NsdNotifications(NotificationsUtil):
         #     self.notifyserializer = PkgOnboardingNotificationSerializer
 
     def prepare_notification(self):
+        """
+        Prepare notification
+        :return:
+        """
         logger.info('Start to prepare Nsdnotification')
 
         notification_content = {
@@ -204,6 +235,9 @@ class NsdNotifications(NotificationsUtil):
 
 
 class PnfNotifications(NotificationsUtil):
+    """
+    Notification util for PNF package
+    """
     def __init__(self, notification_type, pnfd_info_id, pnfd_id, failure_details=None):
         super(PnfNotifications, self).__init__(notification_type)
         self.filter = {
@@ -222,6 +256,12 @@ class PnfNotifications(NotificationsUtil):
         #     self.notifyserializer = PkgOnboardingNotificationSerializer
 
     def prepare_notification(self, *args, **kwargs):
+        """
+        Prepare notification
+        :param args:
+        :param kwargs:
+        :return:
+        """
         logger.info('Start to prepare Pnfnotification')
         notification_content = {
             'id': str(uuid.uuid4()),  # shall be the same if sent multiple times due to multiple subscriptions.
index d14c452..b752f61 100644 (file)
@@ -34,11 +34,20 @@ METADATA = "metadata"
 
 
 class NsDescriptor(object):
+    """
+    NS Package
+    """
 
     def __init__(self):
         pass
 
     def create(self, data, id=None):
+        """
+        Create NS package
+        :param data:
+        :param id:
+        :return:
+        """
         logger.info('Start to create a NSD...')
         user_defined_data = ignore_case_get(data, 'userDefinedData', {})
         data = {
@@ -60,10 +69,21 @@ class NsDescriptor(object):
         return data
 
     def update(self, data, nsd_info_id):
+        """
+        Update NS package
+        :param data:
+        :param nsd_info_id:
+        :return:
+        """
         usageState = PKG_STATUS.IN_USE if data["usageState"] else PKG_STATUS.NOT_IN_USE
         NSPackageModel.objects.filter(nsPackageId=nsd_info_id).update(usageState=usageState)
 
     def query_multiple(self, nsdId=None):
+        """
+        Query NS package list
+        :param nsdId:
+        :return:
+        """
         if nsdId:
             ns_pkgs = NSPackageModel.objects.filter(nsdId=nsdId)
         else:
@@ -75,6 +95,11 @@ class NsDescriptor(object):
         return response_data
 
     def query_single(self, nsd_info_id):
+        """
+        Query NS package by id
+        :param nsd_info_id:
+        :return:
+        """
         ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
         if not ns_pkgs.exists():
             logger.error('NSD(%s) does not exist.' % nsd_info_id)
@@ -82,6 +107,11 @@ class NsDescriptor(object):
         return self.fill_resp_data(ns_pkgs[0])
 
     def delete_single(self, nsd_info_id):
+        """
+        Delete NSD package by id
+        :param nsd_info_id:
+        :return:
+        """
         logger.info('Start to delete NSD(%s)...' % nsd_info_id)
         ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
         if not ns_pkgs.exists():
@@ -102,6 +132,12 @@ class NsDescriptor(object):
         logger.info('NSD(%s) has been deleted.' % nsd_info_id)
 
     def upload(self, nsd_info_id, remote_file):
+        """
+        Upload NS package file
+        :param nsd_info_id:
+        :param remote_file:
+        :return:
+        """
         logger.info('Start to upload NSD(%s)...' % nsd_info_id)
         ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
         if not ns_pkgs.exists():
@@ -114,6 +150,12 @@ class NsDescriptor(object):
         return local_file_name
 
     def download(self, nsd_info_id, file_range):
+        """
+        Download NS package file
+        :param nsd_info_id:
+        :param file_range:
+        :return:
+        """
         logger.info('Start to download NSD(%s)...' % nsd_info_id)
         ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
         if not ns_pkgs.exists():
@@ -129,6 +171,12 @@ class NsDescriptor(object):
         return read(local_file_path, start, end)
 
     def parse_nsd_and_save(self, nsd_info_id, local_file_name):
+        """
+        Parse NSD and save the information
+        :param nsd_info_id:
+        :param local_file_name:
+        :return:
+        """
         logger.info('Start to process NSD(%s)...' % nsd_info_id)
         ns_pkgs = NSPackageModel.objects.filter(nsPackageId=nsd_info_id)
         ns_pkgs.update(onboardingState=const.PKG_STATUS.PROCESSING)
@@ -195,6 +243,11 @@ class NsDescriptor(object):
         logger.info('NSD(%s) has been processed.' % nsd_info_id)
 
     def fill_resp_data(self, ns_pkg):
+        """
+        File response data
+        :param ns_pkg:
+        :return:
+        """
         data = {
             'id': ns_pkg.nsPackageId,
             'nsdId': ns_pkg.nsdId,
@@ -251,6 +304,15 @@ class NsDescriptor(object):
 
 
 def send_notification(type, nsd_info_id, nsd_id=None, failure_details=None, operational_state=None):
+    """
+    Send notification
+    :param type:
+    :param nsd_info_id:
+    :param nsd_id:
+    :param failure_details:
+    :param operational_state:
+    :return:
+    """
     notify = NsdNotifications(type, nsd_info_id, nsd_id,
                               failure_details=failure_details,
                               operational_state=operational_state)
index dd6a236..cd2f986 100644 (file)
@@ -32,11 +32,19 @@ logger = logging.getLogger(__name__)
 
 
 class PnfDescriptor(object):
+    """
+    PNF package management
+    """
 
     def __init__(self):
         pass
 
     def create(self, data):
+        """
+        Create a PNF package
+        :param data:
+        :return:
+        """
         logger.info('Start to create a PNFD...')
         user_defined_data = ignore_case_get(data, 'userDefinedData', {})
         data = {
@@ -56,6 +64,11 @@ class PnfDescriptor(object):
         return data
 
     def query_multiple(self, request):
+        """
+        Query PNF packages
+        :param request:
+        :return:
+        """
         pnfdId = request.query_params.get('pnfdId')
         if pnfdId:
             pnf_pkgs = PnfPackageModel.objects.filter(pnfdId=pnfdId)
@@ -68,6 +81,11 @@ class PnfDescriptor(object):
         return response_data
 
     def query_single(self, pnfd_info_id):
+        """
+        Query PNF package by id
+        :param pnfd_info_id:
+        :return:
+        """
         pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
         if not pnf_pkgs.exists():
             logger.error('PNFD(%s) does not exist.' % pnfd_info_id)
@@ -75,6 +93,12 @@ class PnfDescriptor(object):
         return self.fill_response_data(pnf_pkgs[0])
 
     def upload(self, remote_file, pnfd_info_id):
+        """
+        Upload PNF package file
+        :param remote_file:
+        :param pnfd_info_id:
+        :return:
+        """
         logger.info('Start to upload PNFD(%s)...' % pnfd_info_id)
         pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
         if not pnf_pkgs.exists():
@@ -93,6 +117,11 @@ class PnfDescriptor(object):
         return local_file_name
 
     def delete_single(self, pnfd_info_id):
+        """
+        Delete PNF package by id
+        :param pnfd_info_id:
+        :return:
+        """
         logger.info('Start to delete PNFD(%s)...' % pnfd_info_id)
         pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
         if not pnf_pkgs.exists():
@@ -122,6 +151,11 @@ class PnfDescriptor(object):
         logger.debug('PNFD(%s) has been deleted.' % pnfd_info_id)
 
     def download(self, pnfd_info_id):
+        """
+        Download PNF package file by id
+        :param pnfd_info_id:
+        :return:
+        """
         logger.info('Start to download PNFD(%s)...' % pnfd_info_id)
         pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
         if not pnf_pkgs.exists():
@@ -137,6 +171,12 @@ class PnfDescriptor(object):
         return read(local_file_path, start, end)
 
     def parse_pnfd_and_save(self, pnfd_info_id, local_file_name):
+        """
+        Parse PNFD and save the information
+        :param pnfd_info_id:
+        :param local_file_name:
+        :return:
+        """
         logger.info('Start to process PNFD(%s)...' % pnfd_info_id)
         pnf_pkgs = PnfPackageModel.objects.filter(pnfPackageId=pnfd_info_id)
         pnf_pkgs.update(onboardingState=PKG_STATUS.PROCESSING)
@@ -198,6 +238,11 @@ class PnfDescriptor(object):
         logger.info('PNFD(%s) has been processed.' % pnfd_info_id)
 
     def fill_response_data(self, pnf_pkg):
+        """
+        Fill response data
+        :param pnf_pkg:
+        :return:
+        """
         data = {
             'id': pnf_pkg.pnfPackageId,
             'pnfdId': pnf_pkg.pnfdId,
@@ -218,10 +263,21 @@ class PnfDescriptor(object):
         return data
 
     def handle_upload_failed(self, pnf_pkg_id):
+        """
+        Faild process
+        :param pnf_pkg_id:
+        :return:
+        """
         pnf_pkg = PnfPackageModel.objects.filter(pnfPackageId=pnf_pkg_id)
         pnf_pkg.update(onboardingState=PKG_STATUS.CREATED)
 
     def parse_pnfd(self, csar_id, inputs):
+        """
+        Parse PNFD
+        :param csar_id:
+        :param inputs:
+        :return:
+        """
         try:
             pnf_pkg = PnfPackageModel.objects.filter(pnfPackageId=csar_id)
             if not pnf_pkg:
@@ -237,5 +293,13 @@ class PnfDescriptor(object):
 
 
 def send_notification(type, pnfd_info_id, pnfd_id=None, failure_details=None):
+    """
+    Send notification
+    :param type:
+    :param pnfd_info_id:
+    :param pnfd_id:
+    :param failure_details:
+    :return:
+    """
     notify = PnfNotifications(type, pnfd_info_id, pnfd_id, failure_details=failure_details)
     notify.send_notification()
index 9183ce1..4f817a3 100644 (file)
@@ -38,6 +38,11 @@ def fmt_ns_pkg_rsp(status, desc, error_code="500"):
 
 
 def ns_on_distribute(csar_id):
+    """
+    Get NS pckage from SDC
+    :param csar_id:
+    :return:
+    """
     ret = None
     try:
         ret = NsPackage().on_distribute(csar_id)
@@ -54,6 +59,11 @@ def ns_on_distribute(csar_id):
 
 
 def ns_delete_csar(csar_id):
+    """
+    Delete NS package
+    :param csar_id:
+    :return:
+    """
     ret = None
     try:
         ret = NsPackage().delete_csar(csar_id)
@@ -66,6 +76,10 @@ def ns_delete_csar(csar_id):
 
 
 def ns_get_csars():
+    """
+    Get NS packages
+    :return:
+    """
     ret = None
     try:
         ret = NsPackage().get_csars()
@@ -78,6 +92,11 @@ def ns_get_csars():
 
 
 def ns_get_csar(csar_id):
+    """
+    Get NS package by id
+    :param csar_id:
+    :return:
+    """
     ret = None
     try:
         ret = NsPackage().get_csar(csar_id)
@@ -91,6 +110,12 @@ def ns_get_csar(csar_id):
 
 
 def parse_nsd(csar_id, inputs):
+    """
+    Parse NSD
+    :param csar_id:
+    :param inputs:
+    :return:
+    """
     ret = None
     try:
         ns_pkg = NSPackageModel.objects.filter(nsPackageId=csar_id)
@@ -151,11 +176,20 @@ class NsPackage(object):
         return [0, "CSAR(%s) distributed successfully." % csar_id]
 
     def delete_csar(self, csar_id):
+        """
+        Delete NS package by id
+        :param csar_id:
+        :return:
+        """
         nsd = NsDescriptor()
         nsd.delete_single(csar_id)
         return [0, "Delete CSAR(%s) successfully." % csar_id]
 
     def get_csars(self):
+        """
+        Get ns packages
+        :return:
+        """
         csars = []
         nss = NSPackageModel.objects.filter()
         for ns in nss:
@@ -164,6 +198,11 @@ class NsPackage(object):
         return [0, csars]
 
     def get_csar(self, csar_id):
+        """
+        Get NS package by id
+        :param csar_id:
+        :return:
+        """
         package_info = {}
         csars = NSPackageModel.objects.filter(nsPackageId=csar_id)
         if csars:
index d0db6bf..5d99204 100644 (file)
@@ -37,7 +37,14 @@ class ServicePackage(object):
         pass
 
     def on_distribute(self, csar_id):
+        """
+        Get service packge from SDC and process
+        :param csar_id:
+        :return:
+        """
         if ServicePackageModel.objects.filter(servicePackageId=csar_id):
+            err_msg = "Service CSAR(%s) already exists." % csar_id
+            logger.warn(err_msg)
             raise PackageHasExistsException("Service CSAR(%s) already exists." % csar_id)
 
         try:
@@ -71,10 +78,19 @@ class ServicePackage(object):
             raise e
 
     def delete_csar(self, csar_id):
+        """
+        Delete service package
+        :param csar_id:
+        :return:
+        """
         serviced = ServiceDescriptor()
         serviced.delete_single(csar_id)
 
     def get_csars(self):
+        """
+        Get service packages from DB
+        :return:
+        """
         csars = []
         packages = ServicePackageModel.objects.filter()
         for package in packages:
@@ -83,6 +99,11 @@ class ServicePackage(object):
         return csars
 
     def get_csar(self, csar_id):
+        """
+        Get a service package by id
+        :param csar_id:
+        :return:
+        """
         package_info = {}
         csars = ServicePackageModel.objects.filter(servicePackageId=csar_id)
         if csars:
@@ -107,6 +128,12 @@ class ServicePackage(object):
         return {"csarId": csar_id, "packageInfo": package_info}
 
     def parse_serviced(self, csar_id, inputs):
+        """
+        Parse service package
+        :param csar_id:
+        :param inputs:
+        :return:
+        """
         service_pkg = ServicePackageModel.objects.filter(servicePackageId=csar_id)
         if not service_pkg:
             raise PackageNotFoundException("Service CSAR(%s) does not exist." % csar_id)
index 7c9d547..c2c2109 100644 (file)
@@ -38,6 +38,10 @@ JOB_ERROR = 255
 
 
 def nf_get_csars():
+    """
+    Get NF packages
+    :return:
+    """
     ret = None
     try:
         ret = NfPackage().get_csars()
@@ -51,6 +55,11 @@ def nf_get_csars():
 
 
 def nf_get_csar(csar_id):
+    """
+    Get NF package by id
+    :param csar_id:
+    :return:
+    """
     ret = None
     try:
         ret = NfPackage().get_csar(csar_id)
@@ -64,6 +73,12 @@ def nf_get_csar(csar_id):
 
 
 def parse_vnfd(csar_id, inputs):
+    """
+    Parse VNFD
+    :param csar_id:
+    :param inputs:
+    :return:
+    """
     ret = None
     try:
         nf_pkg = VnfPackageModel.objects.filter(vnfPackageId=csar_id)
@@ -167,6 +182,7 @@ class NfDistributeThread(threading.Thread):
         vnf_provider = vnfd["vnf"]["properties"].get("provider", "")
         vnf_software_version = vnfd["vnf"]["properties"].get("software_version", "")
         vnfd_product_name = vnfd["vnf"]["properties"].get("product_name", "")
+        # Update VNF package Model to DB
         VnfPackageModel(
             vnfPackageId=self.csar_id,
             vnfdId=vnfd_id,
index 11b6fb3..e8fb9ef 100644 (file)
@@ -36,6 +36,12 @@ class ServiceDescriptor(object):
         pass
 
     def create(self, data, csar_id=None):
+        """
+        Create a Service package
+        :param data:
+        :param csar_id:
+        :return:
+        """
         logger.info('Start to create a ServiceD...')
         user_defined_data = ignore_case_get(data, 'userDefinedData', {})
         data = {
@@ -57,6 +63,12 @@ class ServiceDescriptor(object):
         return data
 
     def parse_serviced_and_save(self, serviced_info_id, local_file_name):
+        """
+        Parse service package and save information to DB
+        :param serviced_info_id:
+        :param local_file_name:
+        :return:
+        """
         logger.info('Start to process ServiceD(%s)...' % serviced_info_id)
         service_pkgs = ServicePackageModel.objects.filter(servicePackageId=serviced_info_id)
         service_pkgs.update(onboardingState=PKG_STATUS.PROCESSING)
@@ -118,12 +130,19 @@ class ServiceDescriptor(object):
         logger.info('ServiceD(%s) has been processed.' % serviced_info_id)
 
     def delete_single(self, serviced_info_id):
+        """
+        Delete a service package by given id
+        :param serviced_info_id:
+        :return:
+        """
         logger.info('Start to delete ServiceD(%s)...' % serviced_info_id)
         service_pkgs = ServicePackageModel.objects.filter(servicePackageId=serviced_info_id)
         if not service_pkgs.exists():
             logger.warn('ServiceD(%s) not found.' % serviced_info_id)
             raise PackageNotFoundException("Service package[%s] not Found." % serviced_info_id)
         service_pkgs.delete()
+
+        # Delete package dir
         service_pkg_path = os.path.join(CATALOG_ROOT_PATH, serviced_info_id)
         fileutil.delete_dirs(service_pkg_path)
         logger.info('ServiceD(%s) has been deleted.' % serviced_info_id)
index a906cb9..a91f17a 100644 (file)
@@ -34,11 +34,19 @@ logger = logging.getLogger(__name__)
 
 
 class VnfPackage(object):
+    """
+    The class for VNF package management
+    """
 
     def __init__(self):
         pass
 
     def create_vnf_pkg(self, data):
+        """
+        Create a VNF package
+        :param data: user defined data
+        :return: VNF package info
+        """
         user_defined_data = ignore_case_get(data, "userDefinedData", {})
         vnf_pkg_id = str(uuid.uuid4())
         VnfPackageModel.objects.create(
@@ -59,6 +67,10 @@ class VnfPackage(object):
         return data
 
     def query_multiple(self):
+        """
+        Query the list of VNF package
+        :return: The list of VNF pakcage
+        """
         pkgs_info = []
         nf_pkgs = VnfPackageModel.objects.filter()
         for nf_pkg in nf_pkgs:
@@ -67,6 +79,11 @@ class VnfPackage(object):
         return pkgs_info
 
     def query_single(self, vnf_pkg_id):
+        """
+        Query a single VNF package by given id
+        :param vnf_pkg_id: The id of VNF package
+        :return: VNF pckage info
+        """
         nf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnf_pkg_id)
         if not nf_pkg.exists():
             logger.error('VNF package(%s) does not exist.' % vnf_pkg_id)
@@ -74,6 +91,11 @@ class VnfPackage(object):
         return fill_response_data(nf_pkg[0])
 
     def delete_vnf_pkg(self, vnf_pkg_id):
+        """
+        Delete a VNF package by give id
+        :param vnf_pkg_id: The id of VNF package
+        :return:
+        """
         vnf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnf_pkg_id)
         if not vnf_pkg.exists():
             logger.debug('VNF package(%s) has been deleted.' % vnf_pkg_id)
@@ -104,6 +126,12 @@ class VnfPackage(object):
         logger.info('VNF package(%s) has been deleted.' % vnf_pkg_id)
 
     def upload(self, vnf_pkg_id, remote_file):
+        """
+        Update VNF pckage file for given id
+        :param vnf_pkg_id: The id of VNF package
+        :param remote_file: VNF package file
+        :return:
+        """
         logger.info('Start to upload VNF package(%s)...' % vnf_pkg_id)
         vnf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnf_pkg_id)
         # if vnf_pkg[0].onboardingState != PKG_STATUS.CREATED:
@@ -130,6 +158,11 @@ class VnfPackage(object):
         return read(local_file_path, start, end)
 
     def download_vnfd(self, vnf_pkg_id):
+        """
+        Download VNFD for given id
+        :param vnf_pkg_id: The id of VNF package
+        :return: VNFD
+        """
         logger.info('Start to download VNFD of VNF package(%s)...' % vnf_pkg_id)
         nf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnf_pkg_id)
         if not nf_pkg.exists():
@@ -183,6 +216,10 @@ class VnfPackage(object):
 
 
 class VnfPkgUploadThread(threading.Thread):
+    """
+    The Thread for upload VNF pckage
+    """
+
     def __init__(self, data, vnf_pkg_id):
         threading.Thread.__init__(self)
         self.vnf_pkg_id = vnf_pkg_id
index 839f05c..df0fd1f 100644 (file)
@@ -22,7 +22,16 @@ logger = logging.getLogger(__name__)
 
 
 class FetchVnfPkgArtifact(object):
+    """
+    Fetch the artifact of VNF package
+    """
     def fetch(self, vnfPkgId, artifactPath):
+        """
+        Fetch artifact by given vnf package id and the path of artifact
+        :param vnfPkgId:
+        :param artifactPath:
+        :return:
+        """
         logger.debug("FetchVnfPkgArtifact--get--single--artifact--biz::>"
                      "ID: %s path: %s" % (vnfPkgId, artifactPath))
         vnf_pkg = VnfPackageModel.objects.filter(vnfPackageId=vnfPkgId)
index 5609403..9876961 100644 (file)
@@ -45,6 +45,9 @@ def is_filter_type_equal(new_filter, existing_filter):
 
 
 class CreateSubscription(object):
+    """
+    Create subscription info
+    """
     def __init__(self, data):
         self.data = data
         self.filter = ignore_case_get(self.data, "filter", {})
@@ -59,6 +62,10 @@ class CreateSubscription(object):
             ignore_case_get(self.filter, "vnfProductsFromProviders", [])
 
     def check_callbackuri_connection(self):
+        """
+        Check if the callback uri can access
+        :return:
+        """
         logger.debug("SubscribeNotification-post::> Sending GET request "
                      "to %s" % self.callback_uri)
         try:
@@ -90,6 +97,10 @@ class CreateSubscription(object):
             )
 
     def do_biz(self):
+        """
+        Do business
+        :return:
+        """
         self.subscription_id = str(uuid.uuid4())
         self.check_valid_auth_info()
         self.check_callbackuri_connection()
@@ -102,6 +113,10 @@ class CreateSubscription(object):
             return subscription.toDict()
 
     def check_valid_auth_info(self):
+        """
+        Check if the Auth info is valid
+        :return:
+        """
         logger.debug("SubscribeNotification--post::> Validating Auth "
                      "details if provided")
         if self.authentication.get("paramsBasic", {}) and const.BASIC not in self.authentication.get("authType"):
@@ -138,6 +153,10 @@ class CreateSubscription(object):
         return True
 
     def save_db(self):
+        """
+        Save the subscription info to DB
+        :return:
+        """
         logger.debug("SubscribeNotification--post::> Saving the subscription "
                      "%s to the database" % self.subscription_id)
         links = {
@@ -160,7 +179,15 @@ class CreateSubscription(object):
 
 
 class QuerySubscription(object):
+    """
+    The class for query subscription
+    """
     def query_multi_subscriptions(self, params):
+        """
+        Query subscriptions
+        :param params:
+        :return:
+        """
         query_data = {}
         logger.debug("QuerySubscription--get--multi--subscriptions--biz::> Check "
                      "for filter in query params %s" % params)
@@ -177,6 +204,11 @@ class QuerySubscription(object):
         return [subscription.toDict() for subscription in subscriptions]
 
     def query_single_subscription(self, subscription_id):
+        """
+        Query subscription by id
+        :param subscription_id:
+        :return:
+        """
         logger.debug("QuerySingleSubscriptions--get--single--subscription--biz::> "
                      "ID: %s" % subscription_id)
 
@@ -189,6 +221,9 @@ class QuerySubscription(object):
 
 
 class TerminateSubscription(object):
+    """
+    The class to terminate the subscription
+    """
     def terminate(self, subscription_id):
         logger.debug("TerminateSubscriptions--delete--biz::> "
                      "ID: %s" % subscription_id)
index 498db8d..2f69572 100644 (file)
@@ -62,6 +62,11 @@ sample of return value
 
 
 def get_artifacts(asset_type):
+    """
+    Get artifacts by given asset type
+    :param asset_type:
+    :return:
+    """
     resource = "/sdc/v1/catalog/{assetType}"
     resource = resource.format(assetType=asset_type)
     ret = call_sdc(resource, "GET")
@@ -72,6 +77,12 @@ def get_artifacts(asset_type):
 
 
 def get_artifact(asset_type, csar_id):
+    """
+    Get artifact by given asset type and csar id
+    :param asset_type:
+    :param csar_id:
+    :return:
+    """
     artifacts = get_artifacts(asset_type)
     for artifact in artifacts:
         if artifact["uuid"] == csar_id:
@@ -84,6 +95,12 @@ def get_artifact(asset_type, csar_id):
 
 
 def get_asset(asset_type, uuid):
+    """
+    Get asset by given type and UUID
+    :param asset_type:
+    :param uuid:
+    :return:
+    """
     resource = "/sdc/v1/catalog/{assetType}/{uuid}/metadata".format(assetType=asset_type, uuid=uuid)
     ret = call_sdc(resource, "GET")
     if ret[0] != 0:
@@ -99,6 +116,13 @@ def get_asset(asset_type, uuid):
 
 
 def delete_artifact(asset_type, asset_id, artifact_id):
+    """
+    Delete artifact by conditions from SDC
+    :param asset_type:
+    :param asset_id:
+    :param artifact_id:
+    :return:
+    """
     resource = "/sdc/v1/catalog/{assetType}/{uuid}/artifacts/{artifactUUID}"
     resource = resource.format(assetType=asset_type, uuid=asset_id, artifactUUID=artifact_id)
     ret = call_sdc(resource, "DELETE")
@@ -109,6 +133,13 @@ def delete_artifact(asset_type, asset_id, artifact_id):
 
 
 def download_artifacts(download_url, local_path, file_name):
+    """
+    Downlaod artifacts from SDC
+    :param download_url:
+    :param local_path:
+    :param file_name:
+    :return:
+    """
     additional_headers = {
         'X-ECOMP-InstanceID': 'VFC',
         'accept': 'application/octet-stream'
@@ -132,6 +163,13 @@ def download_artifacts(download_url, local_path, file_name):
 
 
 def create_consumer(name, salt, password):
+    """
+    Create a consumer to access the SDC
+    :param name:
+    :param salt:
+    :param password:
+    :return:
+    """
     req_data = {
         'consumerName': name,
         'consumerSalt': salt,
@@ -154,6 +192,11 @@ def create_consumer(name, salt, password):
 
 
 def register_for_topics(key):
+    """
+    Register a topics of SDC
+    :param key:
+    :return:
+    """
     req_data = {
         'apiPublicKey': key,
         'distrEnvName': 'AUTO',