Refactor cluster-deregister workflow to mimic cluster-create and catch exceptions in secret creation
Change-Id: I83ab2ebf032df665aa0935dbab36e7234188c984
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/osm_lcm/k8s.py b/osm_lcm/k8s.py
index ce2a457..845a396 100644
--- a/osm_lcm/k8s.py
+++ b/osm_lcm/k8s.py
@@ -152,9 +152,6 @@
"create_cluster": {
"check_resource_function": self.check_create_cluster,
},
- "deregister_cluster": {
- "check_resource_function": self.check_deregister_cluster,
- },
}
self.regist = vim_sdn.K8sClusterLcm(msg, self.lcm_tasks, config)
@@ -642,6 +639,14 @@
db_cluster = self.update_operation_history(db_cluster, workflow_status, None)
self.db.set_one("clusters", {"_id": db_cluster["_id"]}, db_cluster)
+ # Clean items used in the workflow or in the cluster, no matter if the workflow succeeded
+ clean_status, clean_msg = await self.odu.clean_items_workflow(
+ "deregister_cluster", op_id, op_params, content
+ )
+ self.logger.info(
+ f"clean_status is :{clean_status} and clean_msg is :{clean_msg}"
+ )
+
if workflow_status:
resource_status, resource_msg = await self.check_resource_status(
"deregister_cluster", op_id, op_params, content
@@ -667,29 +672,6 @@
self.db.del_one("clusters", {"_id": db_cluster["_id"]})
return
- async def check_deregister_cluster(self, op_id, op_params, content):
- self.logger.info(
- f"check_deregister_cluster Operation {op_id}. Params: {op_params}."
- )
- # self.logger.debug(f"Content: {content}")
- # Clean secrets
- self.logger.info("Cleaning kubeconfig")
- cluster_name = content["cluster"]["git_name"].lower()
- items = {
- "secrets": [
- {
- "name": f"kubeconfig-{cluster_name}",
- "namespace": "managed-resources",
- },
- ]
- }
-
- try:
- await self.odu.clean_items(items)
- except Exception as e:
- return False, f"Error while cleaning items: {e}"
- return True, "OK"
-
async def get_creds(self, op_id, db_cluster):
self.logger.info("Cluster get creds Enter")
result, cluster_creds = await self.odu.get_cluster_credentials(db_cluster)