self.data = data
self.nf_inst_id = nf_inst_id
self.job_id = job_id
+ self.vnfd_id = ''
self.nfvo_inst_id = ''
self.vnfm_inst_id = ''
self.csar_id = ''
JobUtil.add_job_status(self.job_id, 5, 'Get packageinfo by vnfd_id')
# get csar_id from nslcm by vnfd_id
- self.package_info = get_packageinfo_by_vnfdid(vnf_insts[0].vnfdid)
- self.package_id = ignore_case_get(self.package_info, "package_id")
- self.csar_id = ignore_case_get(self.package_info, "csar_id")
+ self.vnfd_id = vnf_insts[0].vnfdid
+ self.package_info = get_packageinfo_by_vnfdid(self.vnfd_id)
+ for val in self.package_info:
+ if self.vnfd_id == ignore_case_get(val, "vnfd_id"):
+ self.package_id = ignore_case_get(val, "csar_id")
+ break
JobUtil.add_job_status(self.job_id, 10, 'Get rawdata from catalog by csar_id')
# get rawdata from catalog by csar_id
input_parameters = []
for key, val in self.data['additionalParams'].items():
input_parameters.append({"key": key, "value": val})
- raw_data = query_rawdata_from_catalog(self.csar_id, input_parameters)
+ raw_data = query_rawdata_from_catalog(self.package_id, input_parameters)
self.vnfd_info = toscautil.convert_vnfd_model(raw_data["rawData"]) # convert to inner json
self.vnfd_info = json.JSONDecoder().decode(self.vnfd_info)
self.vnfd_info = vnfd_model_dict # just for test
+ self.update_cps()
self.checkParameterExist()
# update NfInstModel
}
logger.info('content_args=%s' % content_args)
# call rest api
- resp = notify_lcm_to_nfvo(content_args, self.nf_inst_id)
+ resp = notify_lcm_to_nfvo(content_args)
logger.info('[NF instantiation] get lcm response %s' % resp)
logger.info('[NF instantiation] send notify request to nfvo end')
# def do_notify_delete(self, ret):
# logger.error('Deleting [%s] resource' % ret)
+ def update_cps(self):
+ for extlink in ignore_case_get(self.data, "extVirtualLinks"):
+ for cp in self.vnfd_info["cps"]:
+ cpdid = ignore_case_get(extlink, "cpdId")
+ if cpdid == ignore_case_get(cp, "cp_id"):
+ cp["networkId"] = ignore_case_get(extlink, "resourceId")
+ cp["subnetId"] = ignore_case_get(extlink, "resourceSubnetId")
+ break
+ pass
+
def checkParameterExist(self):
# if ignore_case_get(self.data, "flavourId") not in self.vnfd_info:
# raise NFLCMException('Input parameter is not defined in vnfd_info.')