-
- service_artifacts = msg['serviceArtifacts']
- for artifact in service_artifacts:
- if artifact['artifactType'] == 'TOSCA_CSAR':
- csar_id = artifact['artifactUUID']
- if not NSPackageModel.objects.filter(nsPackageId=artifact['artifactUUID']):
- download_url = artifact['artifactURL']
- localhost_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- ns_csar_base = os.path.join(localhost_dir, "csars", "ns")
- local_path = os.path.join(ns_csar_base, msg['distributionID'])
- file_name = artifact['artifactName']
- # csar_version = artifact['artifactVersion']
-
- # download csar package
- local_file_name = sdc.download_artifacts(download_url, local_path, file_name)
- if local_file_name.endswith(".csar") or local_file_name.endswith(".zip"):
- artifact_vnf_file = fileutil.unzip_file(local_file_name, local_path,
- "Artifacts/Deployment/OTHER/ns.csar")
- if os.path.exists(artifact_vnf_file):
- local_file_name = artifact_vnf_file
-
- data = {
- 'userDefinedData': {}
- }
- nsd = NsDescriptor()
- nsd.create(data, csar_id)
- nsd.parse_nsd_and_save(csar_id, local_file_name)
- logger.debug("CSAR(%s) distriuted successfully.", csar_id)
- else:
- logger.debug("CSAR(%s) has been distriuted", csar_id)