X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osm_lcm%2Flcm.py;h=83efbca9ddc78b126c378b1052893f370e31f637;hb=refs%2Fchanges%2F09%2F6309%2F1;hp=b14f640b30fad79d6c67a0d0549d8b5340dd8de2;hpb=b87f356a33c02e87e0e079a2967e197c4b82f2ac;p=osm%2FLCM.git diff --git a/osm_lcm/lcm.py b/osm_lcm/lcm.py index b14f640..83efbca 100644 --- a/osm_lcm/lcm.py +++ b/osm_lcm/lcm.py @@ -283,8 +283,9 @@ class Lcm: vim_account_RO[k] = vim_content[k] if "vim_user" in vim_content: vim_content["vim_username"] = vim_content["vim_user"] - if vim_account_RO: - await RO.edit("vim_account", RO_vim_id, descriptor=vim_account_RO) + # vim_account must be edited always even if empty in order to ensure changes are translated to RO + # vim_thread. RO will remove and relaunch a new thread for this vim_account + await RO.edit("vim_account", RO_vim_id, descriptor=vim_account_RO) db_vim["_admin"]["operationalState"] = "ENABLED" self.update_db("vim_accounts", vim_id, db_vim) @@ -815,11 +816,13 @@ class Lcm: for vnf_index, vnfr in db_vnfr.items(): if vnfr.get("vim-account-id"): continue - if db_nsr["instantiate_params"].get("vnf") and db_nsr["instantiate_params"]["vnf"].get(vnf_index) \ - and db_nsr["instantiate_params"]["vnf"][vnf_index].get("vimAccountId"): - vnfr["vim-account-id"] = db_nsr["instantiate_params"]["vnf"][vnf_index]["vimAccountId"] - else: - vnfr["vim-account-id"] = db_nsr["instantiate_params"]["vimAccountId"] + vnfr["vim-account-id"] = db_nsr["instantiate_params"]["vimAccountId"] + if db_nsr["instantiate_params"].get("vnf"): + for vnf_params in db_nsr["instantiate_params"]["vnf"]: + if vnf_params.get("member-vnf-index") == vnf_index: + if vnf_params.get("vimAccountId"): + vnfr["vim-account-id"] = vnf_params.get("vimAccountId") + break self.update_db("vnfrs", vnfr["_id"], vnfr) # wait until NS is ready @@ -1158,6 +1161,7 @@ class Lcm: self.db.del_one("nsrs", {"_id": nsr_id}) self.db.del_list("nslcmops", {"nsInstanceId": nsr_id}) self.db.del_list("vnfrs", {"nsr-id-ref": nsr_id}) + self.logger.debug(logging_text + "Delete from database") else: db_nsr_update = { "operational-status": "terminated",