Skip to content

Commit 44f10f3

Browse files
author
Adithya
committed
fix: mutable default set argument in wait_for_job_status (#329)
Signed-off-by: Adithya <unknown0101200111@gmail.com>
1 parent c0af53e commit 44f10f3

File tree

8 files changed

+20
-10
lines changed

8 files changed

+20
-10
lines changed

kubeflow/optimizer/api/optimizer_client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818

1919
from kubeflow.common.types import KubernetesBackendConfig
2020
from kubeflow.optimizer.backends.kubernetes.backend import KubernetesBackend
21-
from kubeflow.optimizer.constants import constants
2221
from kubeflow.optimizer.types.algorithm_types import BaseAlgorithm
2322
from kubeflow.optimizer.types.optimization_types import (
2423
Objective,
@@ -182,7 +181,7 @@ def get_best_results(self, name: str) -> Result | None:
182181
def wait_for_job_status(
183182
self,
184183
name: str,
185-
status: set[str] = {constants.OPTIMIZATION_JOB_COMPLETE},
184+
status: set[str] | None = None,
186185
timeout: int = 3600,
187186
polling_interval: int = 2,
188187
callbacks: list[Callable[[OptimizationJob], None]] | None = None,

kubeflow/optimizer/backends/base.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616
from collections.abc import Callable, Iterator
1717
from typing import Any
1818

19-
from kubeflow.optimizer.constants import constants
2019
from kubeflow.optimizer.types.algorithm_types import RandomSearch
2120
from kubeflow.optimizer.types.optimization_types import (
2221
Objective,
@@ -65,7 +64,7 @@ def get_best_results(self, name: str) -> Result | None:
6564
def wait_for_job_status(
6665
self,
6766
name: str,
68-
status: set[str] = {constants.OPTIMIZATION_JOB_COMPLETE},
67+
status: set[str] | None = None,
6968
timeout: int = 3600,
7069
polling_interval: int = 2,
7170
callbacks: list[Callable[[OptimizationJob], None]] | None = None,

kubeflow/optimizer/backends/kubernetes/backend.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,11 +269,14 @@ def get_best_results(self, name: str) -> Result | None:
269269
def wait_for_job_status(
270270
self,
271271
name: str,
272-
status: set[str] = {constants.OPTIMIZATION_JOB_COMPLETE},
272+
status: set[str] | None = None,
273273
timeout: int = 3600,
274274
polling_interval: int = 2,
275275
callbacks: list[Callable[[OptimizationJob], None]] | None = None,
276276
) -> OptimizationJob:
277+
if status is None:
278+
status = {constants.OPTIMIZATION_JOB_COMPLETE}
279+
277280
job_statuses = {
278281
constants.OPTIMIZATION_JOB_CREATED,
279282
constants.OPTIMIZATION_JOB_RUNNING,

kubeflow/trainer/api/trainer_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ def get_job_events(self, name: str) -> list[types.Event]:
233233
def wait_for_job_status(
234234
self,
235235
name: str,
236-
status: set[str] = {constants.TRAINJOB_COMPLETE},
236+
status: set[str] | None = None,
237237
timeout: int = 600,
238238
polling_interval: int = 2,
239239
callbacks: list[Callable[[types.TrainJob], None]] | None = None,

kubeflow/trainer/backends/base.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def get_job_events(self, name: str) -> list[types.Event]:
7575
def wait_for_job_status(
7676
self,
7777
name: str,
78-
status: set[str] = {constants.TRAINJOB_COMPLETE},
78+
status: set[str] | None = None,
7979
timeout: int = 600,
8080
polling_interval: int = 2,
8181
callbacks: list[Callable[[types.TrainJob], None]] | None = None,

kubeflow/trainer/backends/container/backend.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -803,13 +803,16 @@ def get_job_events(self, name: str) -> list[types.Event]:
803803
def wait_for_job_status(
804804
self,
805805
name: str,
806-
status: set[str] = {constants.TRAINJOB_COMPLETE},
806+
status: set[str] | None = None,
807807
timeout: int = 600,
808808
polling_interval: int = 2,
809809
callbacks: list[Callable[[types.TrainJob], None]] | None = None,
810810
) -> types.TrainJob:
811811
import time
812812

813+
if status is None:
814+
status = {constants.TRAINJOB_COMPLETE}
815+
813816
end = time.time() + timeout
814817
while time.time() < end:
815818
tj = self.get_job(name)

kubeflow/trainer/backends/kubernetes/backend.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,11 +446,14 @@ def get_job_logs(
446446
def wait_for_job_status(
447447
self,
448448
name: str,
449-
status: set[str] = {constants.TRAINJOB_COMPLETE},
449+
status: set[str] | None = None,
450450
timeout: int = 600,
451451
polling_interval: int = 2,
452452
callbacks: list[Callable[[types.TrainJob], None]] | None = None,
453453
) -> types.TrainJob:
454+
if status is None:
455+
status = {constants.TRAINJOB_COMPLETE}
456+
454457
job_statuses = {
455458
constants.TRAINJOB_CREATED,
456459
constants.TRAINJOB_RUNNING,

kubeflow/trainer/backends/localprocess/backend.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,11 +215,14 @@ def get_job_events(self, name: str) -> list[types.Event]:
215215
def wait_for_job_status(
216216
self,
217217
name: str,
218-
status: set[str] = {constants.TRAINJOB_COMPLETE},
218+
status: set[str] | None = None,
219219
timeout: int = 600,
220220
polling_interval: int = 2,
221221
callbacks: list[Callable[[types.TrainJob], None]] | None = None,
222222
) -> types.TrainJob:
223+
if status is None:
224+
status = {constants.TRAINJOB_COMPLETE}
225+
223226
# find first match or fallback
224227
_job = next((_job for _job in self.__local_jobs if _job.name == name), None)
225228

0 commit comments

Comments
 (0)