Merge lp:~james-page/charms/oneiric/cassandra/10x-plus-updates into lp:charms/oneiric/cassandra

Proposed by James Page on 2012-03-09
Status: Merged
Approved by: Juan L. Negron on 2012-03-09
Approved revision: 21
Merged at revision: 20
Proposed branch: lp:~james-page/charms/oneiric/cassandra/10x-plus-updates
Merge into: lp:charms/oneiric/cassandra
Diff against target: 140 lines (+81/-9)
4 files modified
README.rst (+72/-0)
config.yaml (+7/-7)
hooks/cassandra-common (+1/-1)
revision (+1/-1)
To merge this branch: bzr merge lp:~james-page/charms/oneiric/cassandra/10x-plus-updates
Reviewer Review Type Date Requested Status
Juan L. Negron (community) 2012-03-09 Approve on 2012-03-09
Review via email: mp+96849@code.launchpad.net

Description of the Change

This update includes

1) General Housekeeping

Added README.rst, used int and boolean types in config.yaml where appropriate.

2) Update to 10x of Cassandra

Since this charm was originally written 1.0.x of Cassandra has been released
and is now considered the stable branch.

No changes where required other than to point at the 10x apt repository.

To post a comment you must log in.
Juan L. Negron (negronjl) wrote :

Thanks James!!!

+1 from me

-Juan

Juan L. Negron (negronjl) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added file 'README.rst'
2--- README.rst 1970-01-01 00:00:00 +0000
3+++ README.rst 2012-03-09 22:39:20 +0000
4@@ -0,0 +1,72 @@
5+Overview
6+--------
7+
8+The Apache Cassandra database is the right choice when you need scalability
9+and high availability without compromising performance. Linear scalability
10+and proven fault-tolerance on commodity hardware or cloud infrastructure
11+make it the perfect platform for mission-critical data. Cassandra's support
12+for replicating across multiple datacenters is best-in-class, providing lower
13+latency for your users and the peace of mind of knowing that you can survive
14+regional outages.
15+
16+Cassandra's ColumnFamily data model offers the convenience of column indexes
17+with the performance of log-structured updates, strong support for materialized
18+views, and powerful built-in caching.
19+
20+See http://cassandra.apache.org for more information.
21+
22+Usage
23+-----
24+
25+Cassandra deployments are relatively simple in that they consist of a set of
26+Cassandra nodes which seed from each other to create a ring of servers::
27+
28+ juju deploy --repository . local:cassandra
29+ juju add-unit -n 2 cassandra
30+
31+The service units will deploy and will form a single ring.
32+
33+The API to Cassandra is supported through Apache Thrift; Thrift is a software
34+framework for scalable cross-language services development.
35+
36+See http://wiki.apache.org/cassandra/ThriftInterface for more details of how
37+to use this API.
38+
39+Cassandra recommend using one of the many client options - see
40+http://wiki.apache.org/cassandra/ClientOptions for moe details
41+
42+To relate the Cassandra charm to a service that understands how to talk to
43+Cassandra using thrift::
44+
45+ juju deploy --repository . local:service-that-needs-cassandra
46+ juju add-relation service-that-needs-cassandra cassandra
47+
48+Configuration
49+-------------
50+
51+Cassandra has a pretty good guess at configuring its Java memory settings to
52+fit the machine that it has been deployed on.
53+
54+The charm does support manual configuration of Java memory settings - see the
55+config.yaml file for more details::
56+
57+ cassandra:
58+ auto-memory: false
59+ heap-size: 8G
60+ new-gen-size: 250M
61+
62+However be aware that its recommended that Cassandra always remains in 'real'
63+memory and should never be swapped out to disk so keep this in mind when
64+changing these options.
65+
66+Cassandra sets both is minimum and maximum heap size on startup so will
67+pre-allocate all memory to avoid freezes during operation (this happens
68+during normal operation as more memory is allocated to heap.
69+
70+Words of Caution
71+----------------
72+
73+Changing the configuration of a deployed Cassandra cluster is supported; however
74+it will result in a restart of each Cassandra node as the changes are implemented
75+which may result in outages.
76+
77
78=== modified file 'config.yaml'
79--- config.yaml 2011-10-11 09:41:40 +0000
80+++ config.yaml 2012-03-09 22:39:20 +0000
81@@ -1,14 +1,14 @@
82 options:
83 jmx-port:
84- type: string
85+ type: int
86 default: 7199
87 description: JMX management port
88 cluster-port:
89- type: string
90+ type: int
91 default: 7000
92 description: Port to support cluster communication
93 client-port:
94- type: string
95+ type: int
96 default: 9160
97 description: Port for client communcation
98 cluster-name:
99@@ -16,17 +16,17 @@
100 default: "Test Cluster"
101 description: Name of the Cassandra Cluster - don't change yet!
102 auto-memory:
103- type: string
104+ type: boolean
105 default: true
106- description: Automatically configure memory options based on
107+ description: Automatically configure memory options based on
108 specification of the server infrastructure its running on.
109 heap-size:
110 type: string
111 default: 1G
112- description: Total size of Java memory heap, for example 1G or 512M.
113+ description: Total size of Java memory heap, for example 1G or 512M.
114 Only used if auto-memory = false.
115 new-gen-size:
116 type: string
117 default: 100M
118- description: Size of Java new generation memory, for example 100M.
119+ description: Size of Java new generation memory, for example 100M.
120 Only used if auto-memory = false.
121
122=== modified file 'hooks/cassandra-common'
123--- hooks/cassandra-common 2011-10-13 09:45:00 +0000
124+++ hooks/cassandra-common 2012-03-09 22:39:20 +0000
125@@ -25,7 +25,7 @@
126 install_cassandra () {
127 juju-log "Installing Cassandra"
128 # Install the repositories
129- echo "deb http://www.apache.org/dist/cassandra/debian 08x main" > /etc/apt/sources.list.d/cassandra.list
130+ echo "deb http://www.apache.org/dist/cassandra/debian 10x main" > /etc/apt/sources.list.d/cassandra.list
131 # Add the key
132 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 2B5C1B00
133 # Update the repositories
134
135=== modified file 'revision'
136--- revision 2011-10-13 09:26:32 +0000
137+++ revision 2012-03-09 22:39:20 +0000
138@@ -1,1 +1,1 @@
139-4
140+5

Subscribers

People subscribed via source and target branches