Add Cassandra DB as one of service types

Registered by Denis M. on 2013-08-21

Trove should support multiple extensions. One of the is NoSQL support.
Main goal is to add support for Apache Cassandra NoSQL database (wiki.apache.org/cassandra).

OS: only ubuntu

Problems:
1. Trove doesn't support multi-service-type reference (https://bugs.launchpad.net/trove/+bug/1215183,
https://blueprints.launchpad.net/trove/+spec/multi-service-type-support)
2. Cassandra doesn't have any ACL inside, so there should be made alot of stubs for Trove API. According to Cassandra specs: use of ACL on keyspaces/columnfailys is not necessary.
3. Cassandra is cluster-orientied database, but trove currently supports single-instance provisioning.

Advantages:
1. 100% replication and cluster availability while node crush.
2. Simple cluster configuring.
3. Simple import/export backups
4. pycassa - very good python client for cluster configuring

Disadvanteges:
1. Cli-based backuping (http://wiki.apache.org/cassandra/Operations#Backing_up_data).
2. Cli-based restoring (same link).

Blueprint information

Status:
Complete
Approver:
Michael Basnight
Priority:
High
Drafter:
None
Direction:
Approved
Assignee:
Denis M.
Definition:
Approved
Series goal:
Accepted for icehouse
Implementation:
Implemented
Milestone target:
milestone icon 2014.1
Started by
Denis M. on 2013-09-04
Completed by
Denis M. on 2014-02-13

Related branches

Sprints

Whiteboard

Gerrit topic: https://review.openstack.org/#q,topic:bp/cassandra-db-support,n,z

Addressed by: https://review.openstack.org/51884
    Initial support for single instance Cassandra Database

Addressed by: https://review.openstack.org/69938
    Add heat template for cassandra single instance

Addressed by: https://review.openstack.org/69943
    Add heat template for cassandra single instance

(?)

Work Items