Skip to content

Commit

Permalink
fix: remove pod parent if it is a job
Browse files Browse the repository at this point in the history
  • Loading branch information
meysam81 committed Aug 28, 2023
1 parent 832fb3f commit aa0040d
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions services/linked-proxy-terminator/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,28 @@ def get_logger(name=__name__, level="INFO"):
return logger


def remove_parent_of_pod(pod: client.V1Pod):
if not pod.metadata.owner_references:
logger.debug(f"Pod: {pod.metadata.name} has no owner")
return

parent = pod.metadata.owner_references[0]
if parent.kind != "Job":
logger.debug(f"Pod: {pod.metadata.name} has no Job parent")
return

try:
client_api = client.BatchV1Api()
client_api.delete_namespaced_job(parent.name, pod.metadata.namespace)
logger_, delete_status = logger.info, "Success"
except Exception as e:
logger_, delete_status = logger.error, "Failed"

logger_(
f"Job: {parent.name} Namespace: {pod.metadata.namespace} Delete Status: {delete_status}"
)


def main():
client_api = client.CoreV1Api()

Expand All @@ -40,7 +62,7 @@ def main():

if only_proxy:
try:
client_api.delete_namespaced_pod(pod_name, namespace)
remove_parent_of_pod(pod)
logger_, delete_status = logger.info, "Success"
except Exception as e:
logger_, delete_status = logger.error, "Failed"
Expand All @@ -55,8 +77,7 @@ def main():
logger = get_logger()

if __name__ == "__main__":
# config.load_incluster_config()
config.load_kube_config(context="lware-dev-frankfurt") # TODO: remove
config.load_incluster_config()

while True:
try:
Expand Down

0 comments on commit aa0040d

Please sign in to comment.