Skip to content

Commit 787428e

Browse files
committed
Update rollout topology and weight update tests
1 parent 439087a commit 787428e

6 files changed

Lines changed: 385 additions & 62 deletions

tests/rl/test_multi_task_agent_loop_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ def _fake_agent_loop():
167167
rollout_ctl = MagicMock()
168168
rollout_ctl.continue_generation.remote = AsyncMock()
169169
rollout_ctl.pause_generation.remote = AsyncMock()
170-
rollout_ctl.get_rollout_metadata.remote = AsyncMock(return_value={"server_url_dict": {}})
170+
rollout_ctl.get_weight_update_targets.remote = AsyncMock(return_value=())
171171
agent_loop = MagicMock()
172172
agent_loop.rollout_ctl = rollout_ctl
173173
return agent_loop
@@ -177,7 +177,7 @@ def _fake_rollout_controller():
177177
rollout_controller = MagicMock()
178178
rollout_controller.continue_generation.remote = AsyncMock()
179179
rollout_controller.pause_generation.remote = AsyncMock()
180-
rollout_controller.get_rollout_metadata.remote = AsyncMock(return_value={"server_url_dict": {}})
180+
rollout_controller.get_weight_update_targets.remote = AsyncMock(return_value=())
181181
return rollout_controller
182182

183183

tests/rl/test_producer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ def _build_agent_loop(self, sleep_by_id: dict[int, float] | None = None):
100100
mock_agent_loop = MagicMock()
101101
mock_agent_loop.rollout_ctl.continue_generation.remote = AsyncMock(return_value=None)
102102
mock_agent_loop.rollout_ctl.pause_generation.remote = AsyncMock(return_value=None)
103-
mock_agent_loop.rollout_ctl.get_rollout_metadata.remote = AsyncMock(return_value={"server_url_dict": {}})
103+
mock_agent_loop.rollout_ctl.get_weight_update_targets.remote = AsyncMock(return_value=())
104104

105105
async def mock_pause():
106106
await mock_agent_loop.rollout_ctl.pause_generation.remote()

tests/rl/test_rl_colocate_trainer.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ def _build_fake_rollout_controller():
7575
rollout_ctl = MagicMock()
7676
rollout_ctl.continue_generation.remote = AsyncMock(return_value=None)
7777
rollout_ctl.pause_generation.remote = AsyncMock(return_value=None)
78-
rollout_ctl.get_rollout_metadata.remote = AsyncMock(return_value={"server_url_dict": {}})
78+
rollout_ctl.get_weight_update_targets.remote = AsyncMock(return_value=())
7979
return rollout_ctl
8080

8181

tests/rl/test_rl_trainer_checkpoint.py

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ def __init__(self):
104104
self.restart_inactive_workers = _RemoteMethod(return_value="rollout_restarted")
105105
self.onload_weights = _RemoteMethod(return_value="weights_loaded")
106106
self.onload_kvcache = _RemoteMethod(return_value="kvcache_loaded")
107-
self.get_rollout_metadata = _RemoteMethod(return_value={"server_url_dict": {}})
107+
self.get_weight_update_targets = _RemoteMethod(return_value=())
108108
self.set_enable_partial_rollout = _RemoteMethod(return_value=None)
109109
self.validate_registered_workers_to_proxy = _RemoteMethod(return_value=_AwaitableValue(None))
110110

@@ -127,14 +127,19 @@ def __init__(self):
127127
self.update_weights_count = 0
128128
self.rollout_info = None
129129

130-
def update_rollout_info(
131-
self,
132-
info,
133-
train_rollout_mode,
134-
weight_update_host,
135-
weight_update_port
136-
):
137-
self.rollout_info = info
130+
def bind_rollout_weight_update(
131+
self,
132+
*,
133+
targets,
134+
rollout_config,
135+
train_rollout_mode,
136+
weight_update_host=None,
137+
weight_update_port=None,
138+
):
139+
self.rollout_info = {
140+
"targets": targets,
141+
"rollout_config": rollout_config,
142+
}
138143
self.train_rollout_mode = train_rollout_mode
139144
self.weight_update_host = weight_update_host
140145
self.weight_update_port = weight_update_port

0 commit comments

Comments
 (0)