Merge lp:~dspiteri/charms/precise/cassandra/prodchanges into lp:charms/cassandra

Proposed by Darren Spiteri
Status: Merged
Merged at revision: 28
Proposed branch: lp:~dspiteri/charms/precise/cassandra/prodchanges
Merge into: lp:charms/cassandra
Diff against target: 111 lines (+26/-10)
2 files modified
config.yaml (+7/-0)
hooks/cassandra-common (+19/-10)
To merge this branch: bzr merge lp:~dspiteri/charms/precise/cassandra/prodchanges
Reviewer Review Type Date Requested Status
Mark Mims (community) Approve
Review via email: mp+179862@code.launchpad.net

Description of the change

Merging from prod.

To post a comment you must log in.
Revision history for this message
Mark Mims (mark-mims) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'config.yaml'
2--- config.yaml 2013-07-12 11:57:40 +0000
3+++ config.yaml 2013-08-13 07:34:06 +0000
4@@ -142,3 +142,10 @@
5 type: int
6 description: |
7 The pct of heap used to trigger a nagios critcal alert
8+
9+ extra_packages:
10+ type: string
11+ default: ""
12+ description: |
13+ Extra packages to install. A space delimited list of packages.
14+
15
16=== modified file 'hooks/cassandra-common'
17--- hooks/cassandra-common 2013-07-18 20:31:35 +0000
18+++ hooks/cassandra-common 2013-08-13 07:34:06 +0000
19@@ -29,8 +29,9 @@
20 bzr_ci () {
21 local msg=${FUNCNAME[1]}
22 test -n "$1" && msg="$1"
23- bzr st /etc/cassandra|egrep -q '^modified|added' || return 0
24- bzr ci -m "[$(date "+%Y-%m-%d %H:%M:%S")] ${JUJU_UNIT_NAME}: ${msg} auto-commit" /etc/cassandra || return 0
25+ bzr st /etc/cassandra|egrep -q '^modified|added' || return 1
26+ bzr ci -m "[$(date "+%Y-%m-%d %H:%M:%S")] ${JUJU_UNIT_NAME}: ${msg} auto-commit" /etc/cassandra || return 1
27+ return 0
28 }
29
30
31@@ -48,6 +49,8 @@
32 # Install the repository
33 APT_REPO_SPEC="$(config-get apt-repo-spec)"
34 APT_REPO_KEY=$(config-get apt-repo-key)
35+ # Check for configured extra packages to install from config
36+ EXTRA_PACKAGES="$(config-get extra_packages)"
37 # Add the key
38 if [[ -n "${APT_REPO_KEY}" ]]; then
39 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ${APT_REPO_KEY}
40@@ -56,12 +59,13 @@
41 echo "${APT_REPO_SPEC}" > /etc/apt/sources.list.d/cassandra.list
42 fi
43 # Update the repositories
44+
45 apt-get update
46 # Ensure that cassandra does not startup before we have configured it
47 disable_cassandra_start
48 # Install the package
49- DEBIAN_FRONTEND=noninteractive apt-get -qq install -y cassandra python-cheetah dnsutils bzr
50- bzr_ci
51+ DEBIAN_FRONTEND=noninteractive apt-get -qq install -y cassandra python-cheetah dnsutils bzr ${EXTRA_PACKAGES}
52+ bzr_ci || :
53 }
54
55 # Update the cassandra environment with the appropriate JMX port
56@@ -71,7 +75,6 @@
57 test -n "${JMX_PORT}" || return 1
58 test ${JMX_PORT} -gt 0 -a ${JMX_PORT} -lt 65535 || return 1
59 sed -i -e "s/^JMX_PORT=.*/JMX_PORT=\"${JMX_PORT}\"/" /etc/cassandra/cassandra-env.sh
60- bzr_ci
61 # Open port ready for expose
62 open-port ${JMX_PORT}/TCP
63 }
64@@ -240,7 +243,6 @@
65 sed -i -e "s/^[#]MAX_HEAP_SIZE=.*/#MAX_HEAP_SIZE=\"${HEAP_SIZE}\"/" \
66 -e "s/^[#]HEAP_NEWSIZE=.*/#HEAP_NEWSIZE=\"${NEW_GEN_SIZE}\"/" /etc/cassandra/cassandra-env.sh
67 fi
68- bzr_ci
69 }
70
71 # Service Control Commands
72@@ -281,7 +283,7 @@
73 sed -i -e "s/\- seeds:.*/\- seeds: \"${seeds}\"/" /etc/cassandra/cassandra.yaml
74 fi
75 juju-log "$JUJU_REMOTE_UNIT modified its settings or departed"
76- bzr_ci
77+ bzr_ci || :
78 }
79
80 nodestatus() {
81@@ -385,20 +387,27 @@
82 # Initialize /etc/cassandra bzr
83 bzr whoami "${JUJU_UNIT_NAME} <juju@${HOSTNAME}>"
84 test -d /etc/cassandra/.bzr || bzr init /etc/cassandra && bzr add /etc/cassandra
85- bzr_ci "main:${COMMAND}" /etc/cassandra
86+ bzr_ci "main:${COMMAND}" /etc/cassandra || :
87 # Update the cassandra environment with the appropriate JMX port
88 configure_jmx_port
89+ bzr_ci || :
90 # Construct the cassandra.yaml file from the appropriate information above
91 configure_cassandra
92+ bzr_ci || :
93 run_exec_d_hooks "post-install"
94 ;;
95 config-changed)
96+ needs_restart=
97 # Update the cassandra environment with the appropriate JMX port
98 configure_jmx_port
99+ bzr_ci && needs_restart=:
100 # Construct the cassandra.yaml file from the appropriate information above
101 configure_cassandra
102- # Restart as required
103- restart_cassandra
104+ bzr_ci && needs_restart=:
105+ if [ $needs_restart ]; then
106+ # Restart as required
107+ restart_cassandra
108+ fi
109 # Fill in nagios checks
110 update_nagios_checks
111 ;;

Subscribers

People subscribed via source and target branches

to all changes: