X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fns.py;h=88bb69cd0d3666ea0eb870c3cdabf5a1a5747088;hb=refs%2Ftags%2Fv10.1.0;hp=6a4a8e6ed0cf5c43bc569b2101ec54833fa3ec6f;hpb=85d73a6a9c2d5a01ab010eed6079f243b787e72a;p=osm%2FLCM.git diff --git a/osm_lcm/ns.py b/osm_lcm/ns.py index 6a4a8e6..88bb69c 100644 --- a/osm_lcm/ns.py +++ b/osm_lcm/ns.py @@ -513,7 +513,7 @@ class NsLcm(LcmBase): vdur_copy = deepcopy(vdur) vdur_copy["status"] = "BUILD" vdur_copy["status-detailed"] = None - vdur_copy["ip-address"]: None + vdur_copy["ip-address"] = None vdur_copy["_id"] = str(uuid4()) vdur_copy["count-index"] += count + 1 vdur_copy["id"] = "{}-{}".format( @@ -1557,9 +1557,13 @@ class NsLcm(LcmBase): raise LcmException("Configuration aborted because dependent charm/s timeout") def get_vca_id(self, db_vnfr: dict, db_nsr: dict): - return deep_get(db_vnfr, ("vca-id",)) or deep_get( - db_nsr, ("instantiate_params", "vcaId") - ) + vca_id = None + if db_vnfr: + vca_id = deep_get(db_vnfr, ("vca-id",)) + elif db_nsr: + vim_account_id = deep_get(db_nsr, ("instantiate_params", "vimAccountId")) + vca_id = VimAccountDB.get_vim_account_with_id(vim_account_id).get("vca") + return vca_id async def instantiate_N2VC( self, @@ -1603,17 +1607,22 @@ class NsLcm(LcmBase): namespace = "{nsi}.{ns}".format(nsi=nsi_id if nsi_id else "", ns=nsr_id) + if vca_type == "native_charm": + index_number = 0 + else: + index_number = vdu_index or 0 + if vnfr_id: element_type = "VNF" element_under_configuration = vnfr_id - namespace += ".{}-{}".format(vnfr_id, vdu_index or 0) + namespace += ".{}-{}".format(vnfr_id, index_number) if vdu_id: - namespace += ".{}-{}".format(vdu_id, vdu_index or 0) + namespace += ".{}-{}".format(vdu_id, index_number) element_type = "VDU" - element_under_configuration = "{}-{}".format(vdu_id, vdu_index or 0) + element_under_configuration = "{}-{}".format(vdu_id, index_number) osm_config["osm"]["vdu_id"] = vdu_id elif kdu_name: - namespace += ".{}.{}".format(kdu_name, vdu_index or 0) + namespace += ".{}".format(kdu_name) element_type = "KDU" element_under_configuration = kdu_name osm_config["osm"]["kdu_name"] = kdu_name @@ -1806,6 +1815,7 @@ class NsLcm(LcmBase): config=config, num_units=num_units, vca_id=vca_id, + vca_type=vca_type, ) # write in db flag of configuration_sw already installed @@ -1922,6 +1932,7 @@ class NsLcm(LcmBase): params_dict=primitive_params_, db_dict=db_dict, vca_id=vca_id, + vca_type=vca_type, ) # Once some primitive has been exec, check and write at db if it needs to exec terminated primitives if check_if_terminated_needed: @@ -2214,6 +2225,10 @@ class NsLcm(LcmBase): # read from db: operation stage[1] = "Getting nslcmop={} from db.".format(nslcmop_id) db_nslcmop = self.db.get_one("nslcmops", {"_id": nslcmop_id}) + if db_nslcmop["operationParams"].get("additionalParamsForVnf"): + db_nslcmop["operationParams"]["additionalParamsForVnf"] = json.loads( + db_nslcmop["operationParams"]["additionalParamsForVnf"] + ) ns_params = db_nslcmop.get("operationParams") if ns_params and ns_params.get("timeout_ns_deploy"): timeout_ns_deploy = ns_params["timeout_ns_deploy"] @@ -2241,6 +2256,14 @@ class NsLcm(LcmBase): # for each vnf in ns, read vnfd for vnfr in db_vnfrs_list: + if vnfr.get("kdur"): + kdur_list = [] + for kdur in vnfr["kdur"]: + if kdur.get("additionalParams"): + kdur["additionalParams"] = json.loads(kdur["additionalParams"]) + kdur_list.append(kdur) + vnfr["kdur"] = kdur_list + db_vnfrs[vnfr["member-vnf-index-ref"]] = vnfr vnfd_id = vnfr["vnfd-id"] vnfd_ref = vnfr["vnfd-ref"] @@ -3745,6 +3768,7 @@ class NsLcm(LcmBase): await self.vca_map[vca_type].delete_execution_environment( vca_deployed["ee_id"], scaling_in=scaling_in, + vca_type=vca_type, vca_id=vca_id, ) @@ -4518,6 +4542,7 @@ class NsLcm(LcmBase): total_timeout=self.timeout_primitive, db_dict=db_dict, vca_id=vca_id, + vca_type=vca_type, ), timeout=timeout or self.timeout_primitive, ) @@ -4604,6 +4629,10 @@ class NsLcm(LcmBase): step = "Getting information from database" db_nslcmop = self.db.get_one("nslcmops", {"_id": nslcmop_id}) db_nsr = self.db.get_one("nsrs", {"_id": nsr_id}) + if db_nslcmop["operationParams"].get("primitive_params"): + db_nslcmop["operationParams"]["primitive_params"] = json.loads( + db_nslcmop["operationParams"]["primitive_params"] + ) nsr_deployed = db_nsr["_admin"].get("deployed") vnf_index = db_nslcmop["operationParams"].get("member_vnf_index") @@ -4621,6 +4650,13 @@ class NsLcm(LcmBase): db_vnfr = self.db.get_one( "vnfrs", {"member-vnf-index-ref": vnf_index, "nsr-id-ref": nsr_id} ) + if db_vnfr.get("kdur"): + kdur_list = [] + for kdur in db_vnfr["kdur"]: + if kdur.get("additionalParams"): + kdur["additionalParams"] = json.loads(kdur["additionalParams"]) + kdur_list.append(kdur) + db_vnfr["kdur"] = kdur_list step = "Getting vnfd from database" db_vnfd = self.db.get_one("vnfds", {"_id": db_vnfr["vnfd-id"]}) else: