X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;f=osm_lcm%2Fns.py;h=43e699f3754b39ede549f5404bf5166b455a4ac3;hb=544ef4444711443a9322b9eb4d69241d28b33f26;hp=57298bd89226f31dad81c09f5ad38e09512182cc;hpb=879483e1764b729ddc445668f5326346df516d98;p=osm%2FLCM.git diff --git a/osm_lcm/ns.py b/osm_lcm/ns.py index 57298bd..43e699f 100644 --- a/osm_lcm/ns.py +++ b/osm_lcm/ns.py @@ -4522,16 +4522,8 @@ class NsLcm(LcmBase): if nsr_deployed.get("VCA"): stage[1] = "Deleting all execution environments." self.logger.debug(logging_text + stage[1]) - if nsr_deployed.get("VCA").get("type") != "helm-v3": - vca_id = self.get_vca_id({}, db_nsr) - task_delete_ee = asyncio.ensure_future( - asyncio.wait_for( - self._delete_all_N2VC(db_nsr=db_nsr, vca_id=vca_id), - timeout=self.timeout.charm_delete, - ) - ) - tasks_dict_info[task_delete_ee] = "Terminating all VCA" - else: + helm_vca_list = get_deployed_vca(db_nsr, {"type": "helm-v3"}) + if helm_vca_list: # Delete Namespace and Certificates await self.vca_map["helm-v3"].delete_tls_certificate( namespace=db_nslcmop["nsInstanceId"], @@ -4540,6 +4532,15 @@ class NsLcm(LcmBase): await self.vca_map["helm-v3"].delete_namespace( namespace=db_nslcmop["nsInstanceId"], ) + else: + vca_id = self.get_vca_id({}, db_nsr) + task_delete_ee = asyncio.ensure_future( + asyncio.wait_for( + self._delete_all_N2VC(db_nsr=db_nsr, vca_id=vca_id), + timeout=self.timeout.charm_delete, + ) + ) + tasks_dict_info[task_delete_ee] = "Terminating all VCA" # Delete from k8scluster stage[1] = "Deleting KDUs." @@ -6332,7 +6333,11 @@ class NsLcm(LcmBase): nsr_id, { "_admin.scaling-group": [ - {"name": scaling_group, "nb-scale-op": 0} + { + "name": scaling_group, + "vnf_index": vnf_index, + "nb-scale-op": 0, + } ] }, ) @@ -6341,7 +6346,10 @@ class NsLcm(LcmBase): for admin_scale_index, admin_scale_info in enumerate( db_nsr["_admin"]["scaling-group"] ): - if admin_scale_info["name"] == scaling_group: + if ( + admin_scale_info["name"] == scaling_group + and admin_scale_info["vnf_index"] == vnf_index + ): nb_scale_op = admin_scale_info.get("nb-scale-op", 0) break else: # not found, set index one plus last element and add new entry with the name @@ -6349,6 +6357,9 @@ class NsLcm(LcmBase): db_nsr_update[ "_admin.scaling-group.{}.name".format(admin_scale_index) ] = scaling_group + db_nsr_update[ + "_admin.scaling-group.{}.vnf_index".format(admin_scale_index) + ] = vnf_index vca_scaling_info = [] scaling_info = {"scaling_group_name": scaling_group, "vdu": [], "kdu": []} @@ -7901,6 +7912,7 @@ class NsLcm(LcmBase): old_config_status = db_nsr["config-status"] db_nsr_update = { + "operational-status": "healing", "_admin.deployed.RO.operational-status": "healing", } self.update_db_2("nsrs", nsr_id, db_nsr_update) @@ -8046,7 +8058,6 @@ class NsLcm(LcmBase): task_instantiation_info=tasks_dict_info, stage=stage, ) - except ( ROclient.ROClientException, DbException, @@ -8068,6 +8079,15 @@ class NsLcm(LcmBase): ) finally: error_list = list() + if db_vnfrs_list and target_list: + for vnfrs in db_vnfrs_list: + for vnf_instance in target_list: + if vnfrs["_id"] == vnf_instance.get("vnfInstanceId"): + self.db.set_list( + "vnfrs", + {"_id": vnfrs["_id"]}, + {"_admin.modified": time()}, + ) if exc: error_list.append(str(exc)) try: