X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=lcm%2Fworkflows%2Fbuild_in.py;h=fa267855acb05c50d93e0aa51582fe712e850c74;hb=d160ee00ae58bb98f5fc49e7d6782ff6d5afa7b2;hp=9086bc8be9cd053c1284abb528567c48d904e265;hpb=7056de616f534be06abb3cdb9d87e5775535b90c;p=vfc%2Fnfvo%2Flcm.git diff --git a/lcm/workflows/build_in.py b/lcm/workflows/build_in.py index 9086bc8b..fa267855 100644 --- a/lcm/workflows/build_in.py +++ b/lcm/workflows/build_in.py @@ -53,6 +53,7 @@ def run_ns_instantiate(input_data): nsd_json = ignore_case_get(input_data, "object_context") ns_param_json = ignore_case_get(input_data, "object_additionalParamForNs") vnf_param_json = ignore_case_get(input_data, "object_additionalParamForVnf") + pnf_param_json = ignore_case_get(input_data, "object_additionalParamForPnf") vl_count = int(ignore_case_get(input_data, "vlCount", 0)) vnf_count = int(ignore_case_get(input_data, "vnfCount", 0)) sfc_count = int(ignore_case_get(input_data, "sfcCount", 0)) @@ -69,6 +70,9 @@ def run_ns_instantiate(input_data): [confirm_vnf_status(inst_id) for inst_id, _, _ in jobs] + update_job(job_id, 50, "true", "Start to create PNF") + create_pnf(pnf_param_json) + update_job(job_id, 70, "true", "Start to create SFC") g_jobs_status[job_id] = [1 for i in range(sfc_count)] jobs = [create_sfc(ns_inst_id, i + 1, nsd_json, sdnc_id) for i in range(sfc_count)] @@ -186,6 +190,7 @@ class JobWaitThread(Thread): """ Job Wait """ + def __init__(self, inst_id, job_id, ns_job_id, index): Thread.__init__(self) self.inst_id = inst_id @@ -269,3 +274,16 @@ def confirm_sfc_status(sfc_inst_id): sfc_status = ret[1]["sfcStatus"] if sfc_status != "active": raise NSLCMException("Status of SFC(%s) is not active" % sfc_inst_id) + + +def create_pnf(pnf_param_json): + if pnf_param_json and len(pnf_param_json) > 0: + pnfs = json.JSONDecoder().decode(pnf_param_json) + for pnf in pnfs.itervalues(): + uri = "/api/nslcm/v1/pnfs" + method = "POST" + content = json.JSONEncoder().encode(pnf["input"]["content"]) + ret = restcall.req_by_msb(uri, method, content) + if ret[0] != 0: + logger.error("Failed to call create_pnf(%s) result %s", content, ret) + raise NSLCMException("Failed to call create_pnf(%s)" % content)