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)