Support creating consistent Snapshots

Registered by Monty Taylor

Overview
The goal of this blueprint is to implement capabilities in Reddwarf to support the concept of DbaaS snapshots, which could be used to support database capabilities (i.e. backups, cloning, etc.). This will be supported in the Reddwarf API (guest_agent) and provide the ability to support snapshots in a consistent view of DB such that it can be used for replication setup, cloning of the Master DB, and/or backup such that a point-in-time restoration can be performed.
There are many methods of implementing a snapshot design such as: mysqldump with the master-data option, Perconas's XtraBackup, Openstack's volume snapshot, etc.. Each has their advantages and disadvantages. As such the design presented herein will provide for the idea of a pluggable interface such that as capabilities are developed they can be incorporated without code changes. One entities SLA may allow for only a certain type of snapshot due to acceptable down-time, etc.. So in order to offer the most robust possible snapshot implementation this pluggable API present the best of breed.

Design Goals
The following are the design goals:
       • Pluggable interface to the lower snapshot implantation layer in order to support multiple snapshot mechanisms, i.e. Xtrabackup, mysqldump, Openstack's Volume support, others. This will allow for a variety of snapshot implementation that could define different levels of service. For example:
              o High availability your would use Xtrabackup
              o For a lower level of service mysqldump.
       • Database support for information pertaining to the snapshot ,i.e. name, time of the snapshot, status information as to the current state of the snapshot, tenant information, etc..
       • Use of ACLs to support backup security and access from whom to which backup.

Blueprint information

Status:
Complete
Approver:
Vipul Sabhaya
Priority:
High
Drafter:
dkehn
Direction:
Approved
Assignee:
Nikhil Manchanda
Definition:
Approved
Series goal:
Accepted for havana
Implementation:
Implemented
Milestone target:
milestone icon 2013.2
Started by
Michael Basnight
Completed by
Michael Basnight

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/consistent-snapshots,n,z

Addressed by: https://review.openstack.org/23881
    Add DB migration script for snapshot

Addressed by: https://review.openstack.org/24714
    Add snapshot feature to reddwarf

Addressed by: https://review.openstack.org/27299
    Backup and Restore for reddwarf instances.

Addressed by: https://review.openstack.org/27856
    Add feature for stopping backup process when hung or starved

Addressed by: https://review.openstack.org/26288
    Controller and API changes for backups.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.