From d695e855f9103d98438461b6fbef8e9bc85ba9c9 Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Mon, 10 Feb 2025 16:33:44 -0500 Subject: [PATCH] Catch errors if snapshot fails to remove A missing snapshot could cause an exception here which would break the entire autobackup run. Catch the exception and continue on as this should never be a fatal situation. --- daemon-common/autobackup.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/daemon-common/autobackup.py b/daemon-common/autobackup.py index 07463b9c..30c9dbd6 100644 --- a/daemon-common/autobackup.py +++ b/daemon-common/autobackup.py @@ -469,15 +469,16 @@ def run_vm_backup(zkhandler, celery, config, vm_detail, force_full=False): if len(marked_for_deletion) > 0: for backup_to_delete in marked_for_deletion: - ret = vm.vm_worker_remove_snapshot( - zkhandler, None, vm_name, backup_to_delete["snapshot_name"] - ) - if ret is False: - error_message = f"Failed to remove obsolete backup snapshot '{backup_to_delete['snapshot_name']}', leaving in tracked backups" + try: + ret = vm.vm_worker_remove_snapshot( + zkhandler, None, vm_name, backup_to_delete["snapshot_name"] + ) + except Exception: + error_message = f"Failed to remove obsolete backup snapshot '{backup_to_delete['snapshot_name']}', removing from tracked backups anyways" log_err(celery, error_message) - else: - rmtree(f"{vm_backup_path}/{backup_to_delete['snapshot_name']}") - tracked_backups.remove(backup_to_delete) + + rmtree(f"{vm_backup_path}/{backup_to_delete['snapshot_name']}") + tracked_backups.remove(backup_to_delete) tracked_backups = update_tracked_backups() return tracked_backups