@@ -100,9 +100,12 @@ def log_job_configs(self, users_list=None, groups_list = None, log_file='jobs.lo
100100 jobs_log = self .get_export_dir () + log_file
101101 acl_jobs_log = self .get_export_dir () + acl_file
102102 error_logger = logging_utils .get_error_logger (wmconstants .WM_EXPORT , wmconstants .JOB_OBJECT , self .get_export_dir ())
103- failed_log_file = logging_utils .get_error_log_file (
103+ failed_job_log_file = logging_utils .get_error_log_file (
104104 wmconstants .WM_EXPORT , wmconstants .JOB_OBJECT , self .get_export_dir ()
105105 )
106+ failed_acl_log_file = logging_utils .get_error_log_file (
107+ wmconstants .WM_EXPORT , wmconstants .JOB_ACL_OBJECT , self .get_export_dir ()
108+ )
106109 # pinned by cluster_user is a flag per cluster
107110 jl_full = self .get_jobs_list (False )
108111 if users_list :
@@ -112,7 +115,8 @@ def log_job_configs(self, users_list=None, groups_list = None, log_file='jobs.lo
112115 jl = jl_full
113116 with open (jobs_log , "w" ) as log_fp , \
114117 open (acl_jobs_log , 'w' ) as acl_fp , \
115- open (failed_log_file , "w" ) as failed_log_fp :
118+ open (failed_job_log_file , "w" ) as failed_log_fp , \
119+ open (failed_acl_log_file , "w" ) as failed_acl_log_file :
116120 for x in jl :
117121 job_id = x ['job_id' ]
118122 new_job_name = x ['settings' ]['name' ] + ':::' + str (job_id )
@@ -146,13 +150,16 @@ def log_job_configs(self, users_list=None, groups_list = None, log_file='jobs.lo
146150 # job_acl is malformed, the job is written to error output file
147151 logging .error (f"The following job id { job_id } has malformed permissions: { json .dumps (job_perms )} " )
148152 failed_log_fp .write (json .dumps (x ) + '\n ' )
153+ failed_acl_log_file .write (json .dumps (job_perms ) + '\n ' )
149154
150155 def import_job_configs (self , log_file = 'jobs.log' , acl_file = 'acl_jobs.log' , job_map_file = 'job_id_map.log' ):
151156 jobs_log = self .get_export_dir () + log_file
152157 acl_jobs_log = self .get_export_dir () + acl_file
153158 job_map_log = self .get_export_dir () + job_map_file
154159 error_logger = logging_utils .get_error_logger (
155160 wmconstants .WM_IMPORT , wmconstants .JOB_OBJECT , self .get_export_dir ())
161+ job_acl_error_logger = logging_utils .get_error_logger (
162+ wmconstants .WM_IMPORT , wmconstants .JOB_ACL_OBJECT , self .get_export_dir ())
156163 if not os .path .exists (jobs_log ):
157164 logging .info ("No job configurations to import." )
158165 return
@@ -263,10 +270,13 @@ def adjust_ids_for_cluster(settings): #job_settings or task_settings
263270 acl_perms = self .build_acl_args (acl_conf ['access_control_list' ], True )
264271 acl_create_args = {'access_control_list' : acl_perms }
265272 acl_resp = self .patch (api , acl_create_args )
266- if not logging_utils .log_response_error (error_logger , acl_resp ) and 'object_id' in acl_conf :
273+ if not logging_utils .log_response_error (job_acl_error_logger , acl_resp ) and 'object_id' in acl_conf :
267274 checkpoint_job_configs_set .write (acl_conf ['object_id' ])
268275 else :
269- raise RuntimeError ("Import job has failed. Refer to the previous log messages to investigate." )
276+ if self .is_skip_failed ():
277+ logging .error (f"Skipped { acl_conf } " )
278+ else :
279+ raise RuntimeError ("Import job has failed. Refer to the previous log messages to investigate." )
270280 # update the imported job names
271281 self .update_imported_job_names (error_logger , checkpoint_job_configs_set )
272282
0 commit comments