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/odu_libs/cluster_mgmt.py b/osm_lcm/odu_libs/cluster_mgmt.py
index 0a19de1..6540b71 100644
--- a/osm_lcm/odu_libs/cluster_mgmt.py
+++ b/osm_lcm/odu_libs/cluster_mgmt.py
@@ -305,12 +305,18 @@
secret_value2 = yaml.safe_dump(
db_cluster["credentials"], indent=4, default_flow_style=False, sort_keys=False
)
- await self.create_secret(
- secret_name2,
- secret_namespace2,
- secret_key2,
- secret_value2,
- )
+ try:
+ await self.create_secret(
+ secret_name2,
+ secret_namespace2,
+ secret_key2,
+ secret_value2,
+ )
+ except Exception as e:
+ self.logger.info(
+ f"Cannot create secret {secret_name} in namespace {secret_namespace}: {e}"
+ )
+ return False, ""
# Additional params for the workflow
cluster_kustomization_name = cluster_name
@@ -460,3 +466,27 @@
return True, "OK"
except Exception as e:
return False, f"Error while cleaning items: {e}"
+
+
+async def clean_items_cluster_deregister(self, op_id, op_params, content):
+ self.logger.info(
+ f"clean_items_cluster_deregister Enter. 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.clean_items(items)
+ return True, "OK"
+ except Exception as e:
+ return False, f"Error while cleaning items: {e}"