@@ -48,6 +48,7 @@ def remote_tmpdir_prune(
4848 username ,
4949 private_key ,
5050 [
51+ "mkdir -p {}" .format (temporary_dir ),
5152 "rm -rf {}/*.log" .format (temporary_dir ),
5253 "rm -rf {}/*.config" .format (temporary_dir ),
5354 "rm -rf {}/*.rdb" .format (temporary_dir ),
@@ -152,22 +153,24 @@ def remote_db_spin(
152153 redis_conns .append (local_redis_conn )
153154 except redis .exceptions .ConnectionError as e :
154155 logging .error ("A error occurred while spinning DB: {}" .format (e .__str__ ()))
155- remote_file = "{}/{}" .format (temporary_dir , logfiles [0 ])
156+ logfile = logfiles [0 ]
157+
158+ remote_file = "{}/{}" .format (temporary_dir , logfile )
156159 logging .error (
157- "Trying to fetch DB remote log {} into {}" .format (
158- remote_file , logfiles [0 ]
159- )
160+ "Trying to fetch DB remote log {} into {}" .format (remote_file , logfile )
160161 )
161- failed_remote_run_artifact_store (
162- True ,
163- client_public_ip ,
162+ db_error_artifacts (
163+ db_ssh_port ,
164164 dirname ,
165- remote_file ,
166- logfiles [0 ],
165+ full_logfiles ,
166+ logname ,
167+ private_key ,
167168 s3_bucket_name ,
168169 s3_bucket_path ,
170+ server_public_ip ,
171+ temporary_dir ,
172+ True ,
169173 username ,
170- private_key ,
171174 )
172175
173176 if setup_type == "oss-standalone" :
@@ -196,22 +199,18 @@ def remote_db_spin(
196199 redis_conns .append (local_redis_conn )
197200 except redis .exceptions .ConnectionError as e :
198201 logging .error ("A error occurred while spinning DB: {}" .format (e .__str__ ()))
199- remote_file = full_logfile
200- logging .error (
201- "Trying to fetch DB remote log {} into {}" .format (
202- remote_file , full_logfile
203- )
204- )
205- failed_remote_run_artifact_store (
206- True ,
207- client_public_ip ,
208- "" ,
209- remote_file ,
210- full_logfile [1 :],
202+ db_error_artifacts (
203+ db_ssh_port ,
204+ dirname ,
205+ full_logfiles ,
206+ logname ,
207+ private_key ,
211208 s3_bucket_name ,
212209 s3_bucket_path ,
210+ server_public_ip ,
211+ temporary_dir ,
212+ True ,
213213 username ,
214- private_key ,
215214 )
216215
217216 if cluster_enabled :
@@ -314,6 +313,19 @@ def remote_db_spin(
314313 logging .info ("Redis available" )
315314 else :
316315 logging .error ("Remote redis is not available" )
316+ db_error_artifacts (
317+ db_ssh_port ,
318+ dirname ,
319+ full_logfiles ,
320+ logname ,
321+ private_key ,
322+ s3_bucket_name ,
323+ s3_bucket_path ,
324+ server_public_ip ,
325+ temporary_dir ,
326+ True ,
327+ username ,
328+ )
317329 raise Exception ("Remote redis is not available. Aborting..." )
318330 dataset_load_duration_seconds = (
319331 dataset_load_end_time - dataset_load_start_time
@@ -338,3 +350,52 @@ def remote_db_spin(
338350 server_plaintext_port ,
339351 ssh_tunnel ,
340352 )
353+
354+
355+ def db_error_artifacts (
356+ db_ssh_port ,
357+ dirname ,
358+ full_logfiles ,
359+ logname ,
360+ private_key ,
361+ s3_bucket_name ,
362+ s3_bucket_path ,
363+ server_public_ip ,
364+ temporary_dir ,
365+ upload_s3 ,
366+ username ,
367+ ):
368+ local_zipfile = "{}.zip" .format (logname )
369+ remote_zipfile = "/home/{}/{}" .format (username , local_zipfile )
370+ execute_remote_commands (
371+ server_public_ip ,
372+ username ,
373+ private_key ,
374+ [
375+ "zip -r {} {}" .format (remote_zipfile , temporary_dir ),
376+ ],
377+ db_ssh_port ,
378+ )
379+ failed_remote_run_artifact_store (
380+ upload_s3 ,
381+ server_public_ip ,
382+ dirname ,
383+ remote_zipfile ,
384+ local_zipfile ,
385+ s3_bucket_name ,
386+ s3_bucket_path ,
387+ username ,
388+ private_key ,
389+ )
390+ if len (full_logfiles ) > 0 :
391+ failed_remote_run_artifact_store (
392+ upload_s3 ,
393+ server_public_ip ,
394+ dirname ,
395+ full_logfiles [0 ],
396+ logname ,
397+ s3_bucket_name ,
398+ s3_bucket_path ,
399+ username ,
400+ private_key ,
401+ )
0 commit comments