@@ -378,7 +378,7 @@ def _on_create_backup_action(self, event) -> None:
378
378
"""Request that pgBackRest creates a backup."""
379
379
can_unit_perform_backup , validation_message = self ._can_unit_perform_backup ()
380
380
if not can_unit_perform_backup :
381
- logger .warning ( validation_message )
381
+ logger .error ( f"Backup failed: { validation_message } " )
382
382
event .fail (validation_message )
383
383
return
384
384
@@ -402,7 +402,9 @@ def _on_create_backup_action(self, event) -> None:
402
402
),
403
403
s3_parameters ,
404
404
):
405
- event .fail ("Failed to upload metadata to provided S3" )
405
+ error_message = "Failed to upload metadata to provided S3"
406
+ logger .error (f"Backup failed: { error_message } " )
407
+ event .fail (error_message )
406
408
return
407
409
408
410
if not self .charm .is_primary :
@@ -455,7 +457,9 @@ def _on_create_backup_action(self, event) -> None:
455
457
),
456
458
s3_parameters ,
457
459
)
458
- event .fail (f"Failed to backup PostgreSQL with error: { str (e )} " )
460
+ error_message = f"Failed to backup PostgreSQL with error: { str (e )} "
461
+ logger .error (f"Backup failed: { error_message } " )
462
+ event .fail (error_message )
459
463
else :
460
464
# Upload the logs to S3 and fail the action if it doesn't succeed.
461
465
logs = f"""Stdout:
@@ -472,8 +476,11 @@ def _on_create_backup_action(self, event) -> None:
472
476
),
473
477
s3_parameters ,
474
478
):
475
- event .fail ("Error uploading logs to S3" )
479
+ error_message = "Error uploading logs to S3"
480
+ logger .error (f"Backup failed: { error_message } " )
481
+ event .fail (error_message )
476
482
else :
483
+ logger .info (f"Backup succeeded: with backup-id { datetime_backup_requested } " )
477
484
event .set_results ({"backup-status" : "backup created" })
478
485
479
486
if not self .charm .is_primary :
@@ -510,18 +517,20 @@ def _on_restore_action(self, event):
510
517
logger .info ("Validating provided backup-id" )
511
518
backups = self ._list_backups (show_failed = False )
512
519
if backup_id not in backups .keys ():
513
- event .fail (f"Invalid backup-id: { backup_id } " )
520
+ error_message = f"Invalid backup-id: { backup_id } "
521
+ logger .error (f"Restore failed: { error_message } " )
522
+ event .fail (error_message )
514
523
return
515
524
516
525
self .charm .unit .status = MaintenanceStatus ("restoring backup" )
517
- error_message = "Failed to restore backup"
518
526
519
527
# Stop the database service before performing the restore.
520
528
logger .info ("Stopping database service" )
521
529
try :
522
530
self .container .stop (self .charm ._postgresql_service )
523
531
except ChangeError as e :
524
- logger .warning (f"Failed to stop database service with error: { str (e )} " )
532
+ error_message = f"Failed to stop database service with error: { str (e )} "
533
+ logger .error (f"Restore failed: { error_message } " )
525
534
event .fail (error_message )
526
535
return
527
536
@@ -542,7 +551,8 @@ def _on_restore_action(self, event):
542
551
namespace = self .charm ._namespace ,
543
552
)
544
553
except ApiError as e :
545
- logger .warning (f"Failed to remove previous cluster information with error: { str (e )} " )
554
+ error_message = f"Failed to remove previous cluster information with error: { str (e )} "
555
+ logger .error (f"Restore failed: { error_message } " )
546
556
event .fail (error_message )
547
557
self ._restart_database ()
548
558
return
@@ -551,7 +561,8 @@ def _on_restore_action(self, event):
551
561
try :
552
562
self ._empty_data_files ()
553
563
except ExecError as e :
554
- logger .warning (f"Failed to remove contents of the data directory with error: { str (e )} " )
564
+ error_message = f"Failed to remove contents of the data directory with error: { str (e )} "
565
+ logger .error (f"Restore failed: { error_message } " )
555
566
event .fail (error_message )
556
567
self ._restart_database ()
557
568
return
@@ -580,17 +591,19 @@ def _pre_restore_checks(self, event: ActionEvent) -> bool:
580
591
"""
581
592
are_backup_settings_ok , validation_message = self ._are_backup_settings_ok ()
582
593
if not are_backup_settings_ok :
583
- logger .warning ( validation_message )
594
+ logger .error ( f"Restore failed: { validation_message } " )
584
595
event .fail (validation_message )
585
596
return False
586
597
587
598
if not event .params .get ("backup-id" ):
588
- event .fail ("Missing backup-id to restore" )
599
+ error_message = "Missing backup-id to restore"
600
+ logger .error (f"Restore failed: { error_message } " )
601
+ event .fail (error_message )
589
602
return False
590
603
591
604
if not self .container .can_connect ():
592
605
error_message = "Workload container not ready yet!"
593
- logger .warning ( error_message )
606
+ logger .error ( f"Restore failed: { error_message } " )
594
607
event .fail (error_message )
595
608
return False
596
609
@@ -600,7 +613,7 @@ def _pre_restore_checks(self, event: ActionEvent) -> bool:
600
613
and self .charm .unit .status .message != ANOTHER_CLUSTER_REPOSITORY_ERROR_MESSAGE
601
614
):
602
615
error_message = "Cluster or unit is in a blocking state"
603
- logger .warning ( error_message )
616
+ logger .error ( f"Restore failed: { error_message } " )
604
617
event .fail (error_message )
605
618
return False
606
619
@@ -609,14 +622,14 @@ def _pre_restore_checks(self, event: ActionEvent) -> bool:
609
622
error_message = (
610
623
"Unit cannot restore backup as there are more than one unit in the cluster"
611
624
)
612
- logger .warning ( error_message )
625
+ logger .error ( f"Restore failed: { error_message } " )
613
626
event .fail (error_message )
614
627
return False
615
628
616
629
logger .info ("Checking that this unit was already elected the leader unit" )
617
630
if not self .charm .unit .is_leader ():
618
631
error_message = "Unit cannot restore backup as it was not elected the leader unit yet"
619
- logger .warning ( error_message )
632
+ logger .error ( f"Restore failed: { error_message } " )
620
633
event .fail (error_message )
621
634
return False
622
635
0 commit comments