Add Cassandra DB as one of service types

Registered by Denis M.

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.
Completed by
Denis M.

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