@@ -275,33 +275,50 @@ async def action(cls, app: FastAPI, scheduler_data: SchedulerData) -> None:
275275 dynamic_sidecar_service_final_spec = _merge_service_base_and_user_specs (
276276 dynamic_sidecar_service_spec_base , user_specific_service_spec
277277 )
278- rabbit_message = ProgressRabbitMessageNode .model_construct (
278+ sidecar_pull_started_msg = ProgressRabbitMessageNode .model_construct (
279279 user_id = scheduler_data .user_id ,
280280 project_id = scheduler_data .project_id ,
281281 node_id = scheduler_data .node_uuid ,
282282 progress_type = ProgressType .SIDECARS_PULLING ,
283283 report = ProgressReport (actual_value = 0 , total = 1 ),
284284 )
285- await rabbitmq_client .publish (rabbit_message .channel_name , rabbit_message )
285+ await rabbitmq_client .publish (
286+ ProgressRabbitMessageNode .get_channel_name (), sidecar_pull_started_msg
287+ )
286288 dynamic_sidecar_id = await create_service_and_get_id (
287289 dynamic_sidecar_service_final_spec ,
288290 app_settings .DIRECTOR_V2_DOCKER_HUB_REGISTRY ,
289291 )
292+ await rabbitmq_client .publish (
293+ ProgressRabbitMessageNode .get_channel_name (),
294+ sidecar_pull_started_msg .model_copy (
295+ update = {"report" : ProgressReport (actual_value = 0.1 , total = 1 )}
296+ ),
297+ )
298+
290299 # constrain service to the same node
300+ async def progress_update (current : float ) -> None :
301+ await rabbitmq_client .publish (
302+ ProgressRabbitMessageNode .get_channel_name (),
303+ sidecar_pull_started_msg .model_copy (
304+ update = {"report" : ProgressReport (actual_value = current , total = 1 )}
305+ ),
306+ )
307+
291308 scheduler_data .dynamic_sidecar .docker_node_id = (
292309 await get_dynamic_sidecar_placement (
293- dynamic_sidecar_id , dynamic_services_scheduler_settings
310+ dynamic_sidecar_id ,
311+ dynamic_services_scheduler_settings ,
312+ progress_update = progress_update ,
294313 )
295314 )
296315
297- rabbit_message = ProgressRabbitMessageNode .model_construct (
298- user_id = scheduler_data .user_id ,
299- project_id = scheduler_data .project_id ,
300- node_id = scheduler_data .node_uuid ,
301- progress_type = ProgressType .SIDECARS_PULLING ,
302- report = ProgressReport (actual_value = 1 , total = 1 ),
316+ await rabbitmq_client .publish (
317+ ProgressRabbitMessageNode .get_channel_name (),
318+ sidecar_pull_started_msg .model_copy (
319+ update = {"report" : ProgressReport (actual_value = 1 , total = 1 )}
320+ ),
303321 )
304- await rabbitmq_client .publish (rabbit_message .channel_name , rabbit_message )
305322
306323 await constrain_service_to_node (
307324 service_name = scheduler_data .service_name ,
0 commit comments