X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Flcm.py;h=83efbca9ddc78b126c378b1052893f370e31f637;hb=refs%2Fchanges%2F09%2F6309%2F1;hp=f95a439d4bc24949126c3b3259edbba4abcfb0e7;hpb=35b0be7c308fbc1062a616a430e6df18a3f25067;p=osm%2FLCM.git diff --git a/osm_lcm/lcm.py b/osm_lcm/lcm.py index f95a439..83efbca 100644 --- a/osm_lcm/lcm.py +++ b/osm_lcm/lcm.py @@ -164,7 +164,6 @@ class Lcm: db_vim = None exc = None RO_sdn_id = None - RO_sdn_port_mapping = None try: step = "Getting vim-id='{}' from db".format(vim_id) db_vim = self.db.get_one("vim_accounts", {"_id": vim_id}) @@ -284,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) @@ -816,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 @@ -985,6 +987,7 @@ class Lcm: db_nslcmop["detailed-status"] = "configuring: init: {}".format(number_to_configure) else: db_nslcmop["operationState"] = "COMPLETED" + db_nslcmop["statusEnteredTime"] = time() db_nslcmop["detailed-status"] = "done" db_nsr["config-status"] = "configured" db_nsr["detailed-status"] = "done" @@ -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",