3737 get_datasets_table_name ,
3838 get_files_table_name ,
3939)
40+ from clp_py_utils .core import resolve_host_path_in_container
4041
4142from clp_package_utils .general import (
4243 check_docker_dependencies ,
@@ -119,9 +120,12 @@ def _set_up_env_for_database(self) -> EnvVarsDict:
119120 logs_dir = self ._clp_config .logs_directory / component_name
120121 validate_db_config (self ._clp_config , conf_logging_file , data_dir , logs_dir )
121122
122- data_dir .mkdir (exist_ok = True , parents = True )
123- logs_dir .mkdir (exist_ok = True , parents = True )
124- _chown_paths_if_root (data_dir , logs_dir )
123+ resolved_data_dir = resolve_host_path_in_container (data_dir )
124+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
125+
126+ resolved_data_dir .mkdir (exist_ok = True , parents = True )
127+ resolved_logs_dir .mkdir (exist_ok = True , parents = True )
128+ _chown_paths_if_root (resolved_data_dir , resolved_logs_dir )
125129
126130 env_vars = EnvVarsDict ()
127131
@@ -166,8 +170,9 @@ def _set_up_env_for_queue(self) -> EnvVarsDict:
166170 logs_dir = self ._clp_config .logs_directory / component_name
167171 validate_queue_config (self ._clp_config , logs_dir )
168172
169- logs_dir .mkdir (exist_ok = True , parents = True )
170- _chown_paths_if_root (logs_dir )
173+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
174+ resolved_logs_dir .mkdir (exist_ok = True , parents = True )
175+ _chown_paths_if_root (resolved_logs_dir )
171176
172177 env_vars = EnvVarsDict ()
173178
@@ -204,9 +209,12 @@ def _set_up_env_for_redis(self) -> EnvVarsDict:
204209 logs_dir = self ._clp_config .logs_directory / component_name
205210 validate_redis_config (self ._clp_config , conf_file , data_dir , logs_dir )
206211
207- data_dir .mkdir (exist_ok = True , parents = True )
208- logs_dir .mkdir (exist_ok = True , parents = True )
209- _chown_paths_if_root (data_dir , logs_dir )
212+ resolved_data_dir = resolve_host_path_in_container (data_dir )
213+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
214+
215+ resolved_data_dir .mkdir (exist_ok = True , parents = True )
216+ resolved_logs_dir .mkdir (exist_ok = True , parents = True )
217+ _chown_paths_if_root (resolved_data_dir , resolved_logs_dir )
210218
211219 env_vars = EnvVarsDict ()
212220
@@ -252,9 +260,12 @@ def _set_up_env_for_results_cache(self) -> EnvVarsDict:
252260 logs_dir = self ._clp_config .logs_directory / component_name
253261 validate_results_cache_config (self ._clp_config , conf_file , data_dir , logs_dir )
254262
255- data_dir .mkdir (exist_ok = True , parents = True )
256- logs_dir .mkdir (exist_ok = True , parents = True )
257- _chown_paths_if_root (data_dir , logs_dir )
263+ resolved_data_dir = resolve_host_path_in_container (data_dir )
264+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
265+
266+ resolved_data_dir .mkdir (exist_ok = True , parents = True )
267+ resolved_logs_dir .mkdir (exist_ok = True , parents = True )
268+ _chown_paths_if_root (resolved_data_dir , resolved_logs_dir )
258269
259270 env_vars = EnvVarsDict ()
260271
@@ -291,7 +302,8 @@ def _set_up_env_for_compression_scheduler(self) -> EnvVarsDict:
291302 logger .info (f"Setting up environment for { component_name } ..." )
292303
293304 logs_dir = self ._clp_config .logs_directory / component_name
294- logs_dir .mkdir (parents = True , exist_ok = True )
305+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
306+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
295307
296308 env_vars = EnvVarsDict ()
297309
@@ -314,7 +326,8 @@ def _set_up_env_for_query_scheduler(self) -> EnvVarsDict:
314326 logger .info (f"Setting up environment for { component_name } ..." )
315327
316328 logs_dir = self ._clp_config .logs_directory / component_name
317- logs_dir .mkdir (parents = True , exist_ok = True )
329+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
330+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
318331
319332 env_vars = EnvVarsDict ()
320333
@@ -336,7 +349,8 @@ def _set_up_env_for_compression_worker(self, num_workers: int) -> EnvVarsDict:
336349 logger .info (f"Setting up environment for { component_name } ..." )
337350
338351 logs_dir = self ._clp_config .logs_directory / component_name
339- logs_dir .mkdir (parents = True , exist_ok = True )
352+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
353+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
340354
341355 env_vars = EnvVarsDict ()
342356
@@ -365,7 +379,8 @@ def _set_up_env_for_query_worker(self, num_workers: int) -> EnvVarsDict:
365379 logger .info (f"Setting up environment for { component_name } ..." )
366380
367381 logs_dir = self ._clp_config .logs_directory / component_name
368- logs_dir .mkdir (parents = True , exist_ok = True )
382+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
383+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
369384
370385 env_vars = EnvVarsDict ()
371386
@@ -392,7 +407,8 @@ def _set_up_env_for_reducer(self, num_workers: int) -> EnvVarsDict:
392407 logger .info (f"Setting up environment for { component_name } ..." )
393408
394409 logs_dir = self ._clp_config .logs_directory / component_name
395- logs_dir .mkdir (parents = True , exist_ok = True )
410+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
411+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
396412
397413 env_vars = EnvVarsDict ()
398414
@@ -427,7 +443,9 @@ def _set_up_env_for_webui(self, container_clp_config: CLPConfig) -> EnvVarsDict:
427443 self ._clp_home / "var" / "www" / "webui" / "server" / "dist" / "settings.json"
428444 )
429445 validate_webui_config (
430- self ._clp_config , client_settings_json_path , server_settings_json_path
446+ self ._clp_config ,
447+ client_settings_json_path ,
448+ server_settings_json_path ,
431449 )
432450
433451 # Read, update, and write back client's and server's settings.json
@@ -454,10 +472,13 @@ def _set_up_env_for_webui(self, container_clp_config: CLPConfig) -> EnvVarsDict:
454472 "SqlDbClpTablePrefix" : table_prefix ,
455473 "SqlDbCompressionJobsTableName" : COMPRESSION_JOBS_TABLE_NAME ,
456474 }
475+ resolved_client_settings_json_path = resolve_host_path_in_container (
476+ client_settings_json_path
477+ )
457478 client_settings_json = self ._read_and_update_settings_json (
458- client_settings_json_path , client_settings_json_updates
479+ resolved_client_settings_json_path , client_settings_json_updates
459480 )
460- with open (client_settings_json_path , "w" ) as client_settings_json_file :
481+ with open (resolved_client_settings_json_path , "w" ) as client_settings_json_file :
461482 client_settings_json_file .write (json .dumps (client_settings_json ))
462483
463484 server_settings_json_updates = {
@@ -509,10 +530,13 @@ def _set_up_env_for_webui(self, container_clp_config: CLPConfig) -> EnvVarsDict:
509530 server_settings_json_updates ["PrestoHost" ] = None
510531 server_settings_json_updates ["PrestoPort" ] = None
511532
533+ resolved_server_settings_json_path = resolve_host_path_in_container (
534+ server_settings_json_path
535+ )
512536 server_settings_json = self ._read_and_update_settings_json (
513- server_settings_json_path , server_settings_json_updates
537+ resolved_server_settings_json_path , server_settings_json_updates
514538 )
515- with open (server_settings_json_path , "w" ) as settings_json_file :
539+ with open (resolved_server_settings_json_path , "w" ) as settings_json_file :
516540 settings_json_file .write (json .dumps (server_settings_json ))
517541
518542 env_vars = EnvVarsDict ()
@@ -544,7 +568,9 @@ def _set_up_env_for_mcp_server(self) -> EnvVarsDict:
544568
545569 logs_dir = self ._clp_config .logs_directory / component_name
546570 validate_mcp_server_config (self ._clp_config , logs_dir )
547- logs_dir .mkdir (parents = True , exist_ok = True )
571+
572+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
573+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
548574
549575 env_vars = EnvVarsDict ()
550576
@@ -581,7 +607,8 @@ def _set_up_env_for_garbage_collector(self) -> EnvVarsDict:
581607 logger .info (f"Setting up environment for { component_name } ..." )
582608
583609 logs_dir = self ._clp_config .logs_directory / component_name
584- logs_dir .mkdir (parents = True , exist_ok = True )
610+ resolved_logs_dir = resolve_host_path_in_container (logs_dir )
611+ resolved_logs_dir .mkdir (parents = True , exist_ok = True )
585612
586613 env_vars = EnvVarsDict ()
587614
@@ -812,13 +839,14 @@ def get_or_create_instance_id(clp_config: CLPConfig) -> str:
812839 :return: The instance ID.
813840 """
814841 instance_id_file_path = clp_config .logs_directory / "instance-id"
842+ resolved_instance_id_file_path = resolve_host_path_in_container (instance_id_file_path )
815843
816- if instance_id_file_path .exists ():
817- with open (instance_id_file_path , "r" ) as f :
844+ if resolved_instance_id_file_path .exists ():
845+ with open (resolved_instance_id_file_path , "r" ) as f :
818846 instance_id = f .readline ()
819847 else :
820848 instance_id = str (uuid .uuid4 ())[- 4 :]
821- with open (instance_id_file_path , "w" ) as f :
849+ with open (resolved_instance_id_file_path , "w" ) as f :
822850 f .write (instance_id )
823851
824852 return instance_id
0 commit comments