Skip to content

Commit 275a585

Browse files
authored
[core] symmetric-run fix (#58337)
## Description This fixes the symmetric-run cli workflow. Right now if you use `ray symmetric-run` on 2.51 like ``` ray symmetric-run --address 127.0.0.1:6379 -- python my_script.py ``` it will throw since the `symmetric-run` arg is not caught. This was only caught once it became part of the CLI. ## Related issues ## Additional information > Optional: Add implementation details, API changes, usage examples, screenshots, etc. --------- Signed-off-by: Richard Liaw <[email protected]>
1 parent b6e6210 commit 275a585

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

python/ray/scripts/symmetric_run.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,10 @@ def curate_and_validate_ray_start_args(run_and_start_args: List[str]) -> List[st
133133
@click.argument("ray_args_and_entrypoint", nargs=-1, type=click.UNPROCESSED)
134134
def symmetric_run(address, min_nodes, ray_args_and_entrypoint):
135135
all_args = sys.argv[1:]
136+
137+
if all_args and all_args[0] == "symmetric-run":
138+
all_args = all_args[1:]
139+
136140
try:
137141
separator = all_args.index("--")
138142
except ValueError:

python/ray/tests/test_symmetric_run.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def test_symmetric_run_basic_interface(monkeypatch, cleanup_ray):
5252
with _setup_mock_network_utils("127.0.0.1", "127.0.0.1"):
5353
args = ["--address", "127.0.0.1:6379", "--", "echo", "test"]
5454

55-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
55+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
5656
# Test basic symmetric_run call using CliRunner
5757
result = runner.invoke(symmetric_run, args)
5858
assert result.exit_code == 0
@@ -92,7 +92,7 @@ def test_symmetric_run_worker_node_behavior(monkeypatch, cleanup_ray):
9292

9393
# Test worker node behavior
9494
args = ["--address", "192.168.1.100:6379", "--", "echo", "test"]
95-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
95+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
9696
with patch(
9797
"ray.scripts.symmetric_run.check_head_node_ready"
9898
) as mock_check_head_node_ready:
@@ -134,7 +134,7 @@ def test_symmetric_run_arg_validation(monkeypatch, cleanup_ray):
134134
mock_run.return_value.returncode = 0
135135
args = ["--address", "127.0.0.1:6379", "--", "echo", "test"]
136136

137-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
137+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
138138
# Test basic symmetric_run call using CliRunner
139139
result = runner.invoke(symmetric_run, args)
140140
assert result.exit_code == 0
@@ -144,7 +144,7 @@ def test_symmetric_run_arg_validation(monkeypatch, cleanup_ray):
144144
mock_run.return_value.returncode = 0
145145

146146
args = ["--address", "127.0.0.1:6379", "echo", "test"]
147-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
147+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
148148
result = runner.invoke(symmetric_run, args)
149149
assert result.exit_code == 1
150150
assert "No separator" in result.output
@@ -154,7 +154,7 @@ def test_symmetric_run_arg_validation(monkeypatch, cleanup_ray):
154154
mock_run.return_value.returncode = 0
155155

156156
args = ["--address", "127.0.0.1:6379", "--head", "--", "echo", "test"]
157-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
157+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
158158
result = runner.invoke(symmetric_run, args)
159159
assert result.exit_code == 1
160160
assert "Cannot use --head option in symmetric_run." in result.output
@@ -164,7 +164,7 @@ def test_symmetric_run_arg_validation(monkeypatch, cleanup_ray):
164164

165165
# Test args with "=" are passed to ray start
166166
args = ["--address", "127.0.0.1:6379", "--num-cpus=4", "--", "echo", "test"]
167-
with patch("sys.argv", ["ray.scripts.symmetric_run", *args]):
167+
with patch("sys.argv", ["/bin/ray", "symmetric-run", *args]):
168168
result = runner.invoke(symmetric_run, args)
169169
assert result.exit_code == 0
170170

0 commit comments

Comments
 (0)