Jump to: navigation, search

Trove/IncrementalBackupSequenceForceDelete

< Trove
Revision as of 12:40, 14 July 2014 by Denis M. (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Description

Incremental backups Wiki page

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.