Clean-up of resources created in OKA workflows
Change-Id: I1a0ce2de88bd3e77036724a34c9423385c340b6d
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/osm_lcm/odu_workflows.py b/osm_lcm/odu_workflows.py
index faf33db..92cfc43 100644
--- a/osm_lcm/odu_workflows.py
+++ b/osm_lcm/odu_workflows.py
@@ -76,12 +76,15 @@
},
"create_oka": {
"workflow_function": self.create_oka,
+ "clean_function": self.clean_items_oka_create,
},
"update_oka": {
"workflow_function": self.update_oka,
+ "clean_function": self.clean_items_oka_update,
},
"delete_oka": {
"workflow_function": self.delete_oka,
+ "clean_function": self.clean_items_oka_delete,
},
"create_ksus": {
"workflow_function": self.create_ksus,
@@ -150,11 +153,15 @@
move_ksu,
clean_items_ksu_create,
clean_items_ksu_update,
+ clean_items_ksu_delete,
)
from osm_lcm.odu_libs.oka import (
create_oka,
update_oka,
delete_oka,
+ clean_items_oka_create,
+ clean_items_oka_update,
+ clean_items_oka_delete,
)
from osm_lcm.odu_libs.profiles import (
create_profile,
@@ -211,6 +218,19 @@
return content["workflow_name"]
async def clean_items(self, items):
+ # Delete pods
+ for pod in items.get("pods", []):
+ name = pod["name"]
+ namespace = pod["namespace"]
+ self.logger.info(f"Deleting pod {name} in namespace {namespace}")
+ self.logger.debug(f"Testing kubectl: {self._kubectl}")
+ self.logger.debug(
+ f"Testing kubectl configuration: {self._kubectl.configuration}"
+ )
+ self.logger.debug(
+ f"Testing kubectl configuration Host: {self._kubectl.configuration.host}"
+ )
+ await self._kubectl.delete_pod(name, namespace)
# Delete secrets
for secret in items.get("secrets", []):
name = secret["name"]