Only delete backup object on deleted
Only delete backup object from staffeln when the backup is deleted from
Cinder.
Also use force delete as it's hard delete method
diff --git a/staffeln/conductor/backup.py b/staffeln/conductor/backup.py
index 7b8e523..4651bda 100755
--- a/staffeln/conductor/backup.py
+++ b/staffeln/conductor/backup.py
@@ -207,11 +207,13 @@
return backup_object.delete_backup()
if backup["status"] in ("available"):
self.openstacksdk.delete_backup(backup_object.backup_id)
- backup_object.delete_backup()
+ # Don't remove backup until it's officially removed from Cinder
+ # backup_object.delete_backup()
elif backup["status"] in ("error", "error_restoring"):
# Try to remove it from cinder
self.openstacksdk.delete_backup(backup_object.backup_id)
- backup_object.delete_backup()
+ # Don't remove backup until it's officially removed from Cinder
+ # backup_object.delete_backup()
else: # "deleting", "restoring"
LOG.info(
_(
@@ -259,22 +261,20 @@
)
return backup_object.delete_backup()
- self.openstacksdk.delete_backup(uuid=backup_object.backup_id)
- backup_object.delete_backup()
-
- # TODO(ricolin) should check if backup delete completed
-
+ self.openstacksdk.delete_backup(uuid=backup_object.backup_id, force=True)
+ # Don't remove backup until it's officially removed from Cinder
+ # backup_object.delete_backup()
except Exception as e:
if skip_inc_err and "Incremental backups exist for this backup" in str(e):
- pass
+ LOG.debug(str(e))
else:
- LOG.warn(
+ LOG.info(
_(
- f"Backup {backup_object.backup_id} deletion failed. "
- f"Please check into the exception: {str(e)}."
+ f"Backup {backup_object.backup_id} deletion failed."
"Skip this backup from remove now and will retry later."
)
)
+ LOG.debug(f"deletion failed {str(e)}")
# Don't remove backup object, keep it and retry on next periodic task
# backup_object.delete_backup()