Skip to content

Commit 9c686c9

Browse files
chipspeakopenshift-merge-bot[bot]
authored andcommitted
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 e1110cf commit 9c686c9

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
@@ -354,21 +354,21 @@ def status(
354354
# check the ray cluster status
355355
cluster = _ray_cluster_status(self.config.name, self.config.namespace)
356356
if cluster:
357-
if cluster.status == RayClusterStatus.SUSPENDED:
358-
ready = False
359-
status = CodeFlareClusterStatus.SUSPENDED
360-
if cluster.status == RayClusterStatus.UNKNOWN:
361-
ready = False
362-
status = CodeFlareClusterStatus.STARTING
363357
if cluster.status == RayClusterStatus.READY:
364358
ready = True
365359
status = CodeFlareClusterStatus.READY
360+
elif cluster.status == RayClusterStatus.SUSPENDED:
361+
ready = False
362+
status = CodeFlareClusterStatus.SUSPENDED
366363
elif cluster.status in [
367364
RayClusterStatus.UNHEALTHY,
368365
RayClusterStatus.FAILED,
369366
]:
370367
ready = False
371368
status = CodeFlareClusterStatus.FAILED
369+
elif cluster.status == RayClusterStatus.UNKNOWN:
370+
ready = False
371+
status = CodeFlareClusterStatus.STARTING
372372

373373
if print_to_console:
374374
# 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)