Difference between revisions of "Trove/backup-metadata"
< Trove
Robert Myers (talk | contribs) (Created page with "== Description == Describe the purpose of the enhancement == Justification/Benefits == * What is the driving force behind this change? * Does it allow for great flexibility...") |
Robert Myers (talk | contribs) |
||
Line 1: | Line 1: | ||
== Description == | == Description == | ||
− | + | This blueprint will add the datastore and version to the backups api response. | |
== Justification/Benefits == | == Justification/Benefits == | ||
− | * | + | * This will allow filtering the backups list by datastore type (and version?) |
− | * | + | * Eventually allow the api to restrict which datastore a backup could be restored to. (mysql -> mysql) (redis -> redis) |
== Impacts == | == Impacts == | ||
=== Configuration === | === Configuration === | ||
− | + | None | |
=== Database === | === Database === | ||
− | * | + | * The backup table will need to have a foreign key to the Datastore Version table. |
− | + | * This will require a migration to add the foreign key to all existing records | |
− | * | ||
=== Public API === | === Public API === | ||
− | * | + | * This will add the datastore type and version to the API Response |
− | * | + | * This will also add the ability to filter the backup list by datastore |
==== CLI interface==== | ==== CLI interface==== | ||
− | * | + | * This will add a single param to backup-list command '--datastore' to filter the list by that datastore |
− | |||
==== ReST Part ==== | ==== ReST Part ==== | ||
− | + | New backup list Response: | |
− | + | <pre> | |
− | + | HTTP/1.1 200 OK | |
− | + | Content-Type: application/json | |
+ | Via: 1.1 Repose (Repose/2.6.7) | ||
+ | Content-Length: 663 | ||
+ | Date: Thu, 13 Feb 2014 21:47:16 GMT | ||
+ | Server: Jetty(8.0.y.z-SNAPSHOT) | ||
+ | |||
+ | { | ||
+ | "backups": [ | ||
+ | { | ||
+ | "created": "2014-02-13T21:47:16", | ||
+ | "datastore": { | ||
+ | "type": "mysql", | ||
+ | "version": "5.5" | ||
+ | } | ||
+ | "description": "My Backup", | ||
+ | "id": "014cfa93-fd0e-4e9d-871f-da8bb2eeee3e", | ||
+ | "instance_id": "dcf2c32b-241d-4c39-af70-1001dfe946d6", | ||
+ | "locationRef": "http://localhost/path/to/backup", | ||
+ | "name": "snapshot", | ||
+ | "parent_id": null, | ||
+ | "size": null, | ||
+ | "status": "COMPLETED", | ||
+ | "updated": "2014-02-13T21:47:16" | ||
+ | } | ||
+ | ] | ||
+ | } | ||
+ | </pre> | ||
=== Internal API === | === Internal API === |
Revision as of 16:11, 14 April 2014
Contents
Description
This blueprint will add the datastore and version to the backups api response.
Justification/Benefits
- This will allow filtering the backups list by datastore type (and version?)
- Eventually allow the api to restrict which datastore a backup could be restored to. (mysql -> mysql) (redis -> redis)
Impacts
Configuration
None
Database
- The backup table will need to have a foreign key to the Datastore Version table.
- This will require a migration to add the foreign key to all existing records
Public API
- This will add the datastore type and version to the API Response
- This will also add the ability to filter the backup list by datastore
CLI interface
- This will add a single param to backup-list command '--datastore' to filter the list by that datastore
ReST Part
New backup list Response:
HTTP/1.1 200 OK Content-Type: application/json Via: 1.1 Repose (Repose/2.6.7) Content-Length: 663 Date: Thu, 13 Feb 2014 21:47:16 GMT Server: Jetty(8.0.y.z-SNAPSHOT) { "backups": [ { "created": "2014-02-13T21:47:16", "datastore": { "type": "mysql", "version": "5.5" } "description": "My Backup", "id": "014cfa93-fd0e-4e9d-871f-da8bb2eeee3e", "instance_id": "dcf2c32b-241d-4c39-af70-1001dfe946d6", "locationRef": "http://localhost/path/to/backup", "name": "snapshot", "parent_id": null, "size": null, "status": "COMPLETED", "updated": "2014-02-13T21:47:16" } ] }
Internal API
- Does this change any internal messages between API and Task Manager or Task Manager to Guest
RPC API description
- Method name.
- Method parameters.
- Message type (cast/call).
Guest Agent
- Does this change behavior on the Guest Agent? If so, is it backwards compatible with API and Task Manager?