Support creating consistent Snapshots

Registered by Monty Taylor

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

Vipul Sabhaya
Nikhil Manchanda
Series goal:
Accepted for havana
Milestone target:
milestone icon 2013.2
Started by
Michael Basnight
Completed by
Michael Basnight

Related branches



Gerrit topic:,topic:bp/consistent-snapshots,n,z

Addressed by:
    Add DB migration script for snapshot

Addressed by:
    Add snapshot feature to reddwarf

Addressed by:
    Backup and Restore for reddwarf instances.

Addressed by:
    Add feature for stopping backup process when hung or starved

Addressed by:
    Controller and API changes for backups.


Work Items

This blueprint contains Public information 
Everyone can see this information.