Skip to content

Commit c3865bd

Browse files
committed
Update multi-resource actions in k8s managers
1 parent 4ee618e commit c3865bd

2 files changed

Lines changed: 47 additions & 36 deletions

File tree

cli/polyaxon/_k8s/manager/async_manager.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -75,25 +75,21 @@ async def delete_pod(self, name, reraise: bool = False, namespace: str = None):
7575

7676
async def delete_pods(
7777
self,
78-
label_selector: str,
7978
reraise: bool = False,
8079
namespace: str = None,
80+
**kwargs,
8181
):
8282
try:
8383
await self.k8s_api.delete_collection_namespaced_pod( # type: ignore[attr-defined]
8484
namespace=namespace or self.namespace,
85-
label_selector=label_selector,
85+
**kwargs,
8686
)
87-
logger.debug("Pods with label selector `{}` deleted".format(label_selector))
87+
logger.debug("Pods deleted. kwargs: `{}` ".format(kwargs))
8888
except ApiException as e:
8989
if reraise:
9090
raise e
9191
else:
92-
logger.debug(
93-
"Pods with label selector `{}` were not found".format(
94-
label_selector
95-
)
96-
)
92+
logger.debug("Pods were not found. kwargs: `{}` ".format(kwargs))
9793

9894
async def is_pod_running(
9995
self, pod_id: str, container_id: str, namespace: str = None

cli/polyaxon/_k8s/manager/manager.py

Lines changed: 43 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -744,39 +744,40 @@ def delete_ingress(self, name, reraise: bool = False, namespace: str = None):
744744

745745
def delete_pods(
746746
self,
747-
include_uninitialized=True,
748747
reraise: bool = False,
749748
namespace: str = None,
750749
**kwargs,
751750
):
752-
objs = self.list_pods(
753-
include_uninitialized=include_uninitialized,
754-
reraise=reraise,
755-
namespace=namespace,
756-
**kwargs,
757-
)
758-
for obj in objs:
759-
self.delete_pod(
760-
name=obj.metadata.name, reraise=reraise, namespace=namespace
751+
try:
752+
self.k8s_api.delete_collection_namespaced_pod(
753+
namespace=namespace or self.namespace,
754+
**kwargs,
761755
)
756+
logger.debug("Pods deleted! kwargs: `{}` ".format(kwargs))
757+
except ApiException as e:
758+
if reraise:
759+
raise e
760+
else:
761+
logger.debug("Pods were not found. kwargs: `{}` ".format(kwargs))
762762

763763
def delete_jobs(
764764
self,
765-
include_uninitialized=True,
766765
reraise: bool = False,
767766
namespace: str = None,
768767
**kwargs,
769768
):
770-
objs = self.list_jobs(
771-
include_uninitialized=include_uninitialized,
772-
reraise=reraise,
773-
namespace=namespace,
774-
**kwargs,
775-
)
776-
for obj in objs:
777-
self.delete_job(
778-
name=obj.metadata.name, reraise=reraise, namespace=namespace
769+
try:
770+
self.k8s_batch_api.delete_collection_namespaced_job(
771+
namespace=namespace or self.namespace,
772+
propagation_policy="Foreground",
773+
**kwargs,
779774
)
775+
logger.debug("Jobs deleted. kwargs: `{}` ".format(kwargs))
776+
except ApiException as e:
777+
if reraise:
778+
raise e
779+
else:
780+
logger.debug("Jobs were not found. kwargs: `{}` ".format(kwargs))
780781

781782
def delete_services(self, reraise: bool = False, namespace: str = None, **kwargs):
782783
objs = self.list_services(reraise=reraise, **kwargs)
@@ -788,18 +789,32 @@ def delete_services(self, reraise: bool = False, namespace: str = None, **kwargs
788789
def delete_deployments(
789790
self, reraise: bool = False, namespace: str = None, **kwargs
790791
):
791-
objs = self.list_deployments(reraise=reraise, **kwargs)
792-
for obj in objs:
793-
self.delete_deployment(
794-
name=obj.metadata.name, reraise=reraise, namespace=namespace
792+
try:
793+
self.k8s_apps_api.delete_collection_namespaced_deployment(
794+
namespace=namespace or self.namespace,
795+
propagation_policy="Foreground",
796+
**kwargs,
795797
)
798+
logger.debug("Deployments deleted. kwargs: `{}` ".format(kwargs))
799+
except ApiException as e:
800+
if reraise:
801+
raise e
802+
else:
803+
logger.debug("Deployments were not found. kwargs: `{}` ".format(kwargs))
796804

797805
def delete_ingresses(self, reraise: bool = False, namespace: str = None, **kwargs):
798-
objs = self.list_services(reraise=reraise, **kwargs)
799-
for obj in objs:
800-
self.delete_ingress(
801-
name=obj.metadata.name, reraise=reraise, namespace=namespace
806+
try:
807+
self.networking_v1_beta1_api.delete_collection_namespaced_ingress(
808+
namespace=namespace or self.namespace,
809+
propagation_policy="Foreground",
810+
**kwargs,
802811
)
812+
logger.debug("Ingresses deleted. kwargs: `{}` ".format(kwargs))
813+
except ApiException as e:
814+
if reraise:
815+
raise e
816+
else:
817+
logger.debug("Ingresses were not found. kwargs: `{}` ".format(kwargs))
803818

804819
def is_pod_running(self, pod_id: str, container_id: str, namespace: str = None):
805820
event = self.k8s_api.read_namespaced_pod_status(

0 commit comments

Comments
 (0)