Skip to content

Commit 0458bc3

Browse files
committed
RHOAIENG-57401: fix fragile if/elif chain in Cluster.status()
Refactor mixed if/elif chain to a proper if/elif/elif chain so that only one branch executes per call. Add missing SUSPENDED status test case. Resolves: RHOAIENG-54701 Made-with: Cursor
1 parent d87aac4 commit 0458bc3

2 files changed

Lines changed: 11 additions & 6 deletions

File tree

src/codeflare_sdk/ray/cluster/cluster.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -351,21 +351,21 @@ def status(
351351
# check the ray cluster status
352352
cluster = _ray_cluster_status(self.config.name, self.config.namespace)
353353
if cluster:
354-
if cluster.status == RayClusterStatus.SUSPENDED:
355-
ready = False
356-
status = CodeFlareClusterStatus.SUSPENDED
357-
if cluster.status == RayClusterStatus.UNKNOWN:
358-
ready = False
359-
status = CodeFlareClusterStatus.STARTING
360354
if cluster.status == RayClusterStatus.READY:
361355
ready = True
362356
status = CodeFlareClusterStatus.READY
357+
elif cluster.status == RayClusterStatus.SUSPENDED:
358+
ready = False
359+
status = CodeFlareClusterStatus.SUSPENDED
363360
elif cluster.status in [
364361
RayClusterStatus.UNHEALTHY,
365362
RayClusterStatus.FAILED,
366363
]:
367364
ready = False
368365
status = CodeFlareClusterStatus.FAILED
366+
elif cluster.status == RayClusterStatus.UNKNOWN:
367+
ready = False
368+
status = CodeFlareClusterStatus.STARTING
369369

370370
if print_to_console:
371371
# overriding the number of gpus with requested

src/codeflare_sdk/ray/cluster/test_status.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,11 @@ def test_cluster_status(mocker):
9191
assert status == CodeFlareClusterStatus.READY
9292
assert ready is True
9393

94+
fake_ray.status = RayClusterStatus.SUSPENDED
95+
status, ready = cf.status()
96+
assert status == CodeFlareClusterStatus.SUSPENDED
97+
assert ready is False
98+
9499

95100
def rc_status_fields(group, version, namespace, plural, *args):
96101
assert group == "ray.io"

0 commit comments

Comments
 (0)