"vscode:/vscode.git/clone" did not exist on "a8ce095724d69ccc5c296b7486a41841047b2274"
Unverified Commit b763cf7e authored by Simo Lin's avatar Simo Lin Committed by GitHub
Browse files

[router] allow router to have empty workers (#8160)

parent 8fcc55cf
...@@ -97,7 +97,8 @@ class RouterArgs: ...@@ -97,7 +97,8 @@ class RouterArgs:
parser.add_argument( parser.add_argument(
"--worker-urls", "--worker-urls",
type=str, type=str,
nargs="+", nargs="*",
default=[],
help="List of worker URLs (e.g., http://worker1:8000 http://worker2:8000)", help="List of worker URLs (e.g., http://worker1:8000 http://worker2:8000)",
) )
......
...@@ -90,7 +90,9 @@ class TestLaunchRouter(unittest.TestCase): ...@@ -90,7 +90,9 @@ class TestLaunchRouter(unittest.TestCase):
def test_launch_router_with_empty_worker_urls(self): def test_launch_router_with_empty_worker_urls(self):
args = self.create_router_args(worker_urls=[]) args = self.create_router_args(worker_urls=[])
self.run_router_process(args) # Expected error self.run_router_process(
args
) # Should start successfully with empty worker list
def test_launch_router_with_service_discovery(self): def test_launch_router_with_service_discovery(self):
# Test router startup with service discovery enabled but no selectors # Test router startup with service discovery enabled but no selectors
...@@ -279,6 +281,25 @@ class TestLaunchRouter(unittest.TestCase): ...@@ -279,6 +281,25 @@ class TestLaunchRouter(unittest.TestCase):
self.assertEqual(router_args.prefill_selector, {}) self.assertEqual(router_args.prefill_selector, {})
self.assertEqual(router_args.decode_selector, {}) self.assertEqual(router_args.decode_selector, {})
def test_empty_worker_urls_args_parsing(self):
"""Test that router accepts no worker URLs and defaults to empty list."""
import argparse
from sglang_router.launch_router import RouterArgs
parser = argparse.ArgumentParser()
RouterArgs.add_cli_args(parser)
# Test with no --worker-urls argument at all
args = parser.parse_args(["--policy", "random", "--port", "30000"])
router_args = RouterArgs.from_cli_args(args)
self.assertEqual(router_args.worker_urls, [])
# Test with explicit empty --worker-urls
args = parser.parse_args(["--worker-urls", "--policy", "random"])
router_args = RouterArgs.from_cli_args(args)
self.assertEqual(router_args.worker_urls, [])
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment