Trove/IncrementalBackupSequenceForceDelete
< Trove
Contents
Description
Use case:
- I can create N chained incremental backups in a row.
- I can delete any backup i want by its ID.
- I can't successfuly restore instance if one(or more) backup(from incremental sequence) is missing.
Justification/Benefits
Justification
- If one(or more) of the incremental sequence item missing user wouldn't be able to successfuly restore an instance because certain deltas are missing and there would be no guaranteed consistency.
Benefits
- Guaranteed consistency while restoring instance from incremental backup sequence.
Impacts
- From user perspective behaviour would be slightly changed:
- user would not be able to delete single backup if given backup is a parent of any tenant-owned backup (see bug-report)
- user would be able to to delete incremental backup sequence of any lenght from starting from given backup
- user would still be able to delete single backup if it doesn't have any childs
- Trove API will ignore 'force_delete' flag if given backup has no childs
- Trove API will recursively delete all backups (dependent on given) starting from given.
Configuration
None
Database
None
Public API
None
CLI interface
Changes backup-delete shell call:
trove backup-delete <BACKUP-UUID> --force-delete True
where: --force-delete - allows Trove-API to delete all incremental backups sequence starting from given backup.
ReST Part
Changes backup-delete API:
HTTP method: Delete
Route /{tenant_id}/backups/{backup_id}
Body:
{ 'force_delete': True }
Internal API
- Does this change any internal messages between API and Task Manager or Task Manager to Guest?
- No. Implementation will reuse existing internal API.
RPC API description
None
Guest Agent
- Does this change behavior on the Guest Agent? If so, is it backwards compatible with API and Task Manager?
- No. Task will be executed within Trove API and Taskamanger services.