Browse code

Merge "Add ceilometer"

Jenkins authored on 2012/08/17 23:58:15
Showing 6 changed files
1 1
new file mode 100644
... ...
@@ -0,0 +1,2 @@
0
+python-pymongo
1
+mongodb-server
0 2
new file mode 100644
... ...
@@ -0,0 +1,2 @@
0
+mongodb-server
1
+pymongo
... ...
@@ -129,6 +129,10 @@ function get_packages() {
129 129
             if [[ ! $file_to_parse =~ cinder ]]; then
130 130
                 file_to_parse="${file_to_parse} cinder"
131 131
             fi
132
+        elif [[ $service == ceilometer-* ]]; then
133
+            if [[ ! $file_to_parse =~ ceilometer ]]; then
134
+                file_to_parse="${file_to_parse} ceilometer"
135
+            fi
132 136
         elif [[ $service == n-* ]]; then
133 137
             if [[ ! $file_to_parse =~ nova ]]; then
134 138
                 file_to_parse="${file_to_parse} nova"
... ...
@@ -406,6 +410,7 @@ function is_service_enabled() {
406 406
         [[ ,${ENABLED_SERVICES}, =~ ,${service}, ]] && return 0
407 407
         [[ ${service} == "nova" && ${ENABLED_SERVICES} =~ "n-" ]] && return 0
408 408
         [[ ${service} == "cinder" && ${ENABLED_SERVICES} =~ "c-" ]] && return 0
409
+        [[ ${service} == "ceilometer" && ${ENABLED_SERVICES} =~ "ceilometer-" ]] && return 0
409 410
         [[ ${service} == "glance" && ${ENABLED_SERVICES} =~ "g-" ]] && return 0
410 411
         [[ ${service} == "quantum" && ${ENABLED_SERVICES} =~ "q-" ]] && return 0
411 412
     done
412 413
new file mode 100644
... ...
@@ -0,0 +1,60 @@
0
+# lib/ceilometer
1
+# Install and start Ceilometer service
2
+
3
+# Dependencies:
4
+# - functions
5
+
6
+# stack.sh
7
+# ---------
8
+# install_XXX
9
+# configure_XXX
10
+# init_XXX
11
+# start_XXX
12
+# stop_XXX
13
+# cleanup_XXX
14
+
15
+# Print the commands being run so that we can see the command that triggers
16
+# an error.  It is also useful for following along as the install occurs.
17
+set -o xtrace
18
+
19
+
20
+# Defaults
21
+# --------
22
+
23
+# set up default directories
24
+CEILOMETER_DIR=$DEST/ceilometer
25
+CEILOMETER_CONF_DIR=/etc/ceilometer
26
+CEILOMETER_AGENT_CONF=$CEILOMETER_CONF_DIR/ceilometer-agent.conf
27
+CEILOMETER_COLLECTOR_CONF=$CEILOMETER_CONF_DIR/ceilometer-collector.conf
28
+
29
+# cleanup_ceilometer() - Remove residual data files, anything left over from previous
30
+# runs that a clean run would need to clean up
31
+function cleanup_ceilometer() {
32
+    # This function intentionally left blank
33
+    :
34
+}
35
+
36
+# configure_ceilometer() - Set config files, create data dirs, etc
37
+function configure_ceilometer() {
38
+    setup_develop $CEILOMETER_DIR
39
+    if [ ! -d $CEILOMETER_CONF_DIR ]; then
40
+        sudo mkdir -m 755 -p $CEILOMETER_CONF_DIR
41
+    fi
42
+    sudo chown `whoami` $CEILOMETER_CONF_DIR
43
+
44
+    # ceilometer confs are copy of /etc/nova/nova.conf which must exist first
45
+    grep -v format_string $NOVA_CONF_DIR/$NOVA_CONF > $CEILOMETER_AGENT_CONF
46
+    grep -v format_string $NOVA_CONF_DIR/$NOVA_CONF > $CEILOMETER_COLLECTOR_CONF
47
+}
48
+
49
+# install_ceilometer() - Collect source and prepare
50
+function install_ceilometer() {
51
+    git_clone $CEILOMETER_REPO $CEILOMETER_DIR $CEILOMETER_BRANCH
52
+}
53
+
54
+# start_ceilometer() - Start running processes, including screen
55
+function start_ceilometer() {
56
+    screen_it ceilometer-acompute "cd $CEILOMETER_DIR && $CEILOMETER_DIR/bin/ceilometer-agent-compute --config-file $CEILOMETER_AGENT_CONF"
57
+    screen_it ceilometer-acentral "cd $CEILOMETER_DIR && $CEILOMETER_DIR/bin/ceilometer-agent-central --config-file $CEILOMETER_AGENT_CONF"
58
+    screen_it ceilometer-collector "cd $CEILOMETER_DIR && $CEILOMETER_DIR/bin/ceilometer-collector --config-file $CEILOMETER_COLLECTOR_CONF"
59
+}
... ...
@@ -240,6 +240,7 @@ sudo chown `whoami` $DATA_DIR
240 240
 
241 241
 # Get project function libraries
242 242
 source $TOP_DIR/lib/cinder
243
+source $TOP_DIR/lib/ceilometer
243 244
 
244 245
 # Set the destination directories for openstack projects
245 246
 NOVA_DIR=$DEST/nova
... ...
@@ -789,6 +790,9 @@ fi
789 789
 if is_service_enabled cinder; then
790 790
     install_cinder
791 791
 fi
792
+if is_service_enabled ceilometer; then
793
+    install_ceilometer
794
+fi
792 795
 
793 796
 # Initialization
794 797
 # ==============
... ...
@@ -2119,6 +2123,10 @@ screen_it n-cauth "cd $NOVA_DIR && ./bin/nova-consoleauth"
2119 2119
 if is_service_enabled cinder; then
2120 2120
     start_cinder
2121 2121
 fi
2122
+if is_service_enabled ceilometer; then
2123
+    configure_ceilometer
2124
+    start_ceilometer
2125
+fi
2122 2126
 screen_it horizon "cd $HORIZON_DIR && sudo tail -f /var/log/$APACHE_NAME/horizon_error.log"
2123 2127
 screen_it swift "cd $SWIFT_DIR && $SWIFT_DIR/bin/swift-proxy-server ${SWIFT_CONFIG_DIR}/proxy-server.conf -v"
2124 2128
 
... ...
@@ -24,6 +24,10 @@ NOVA_ENABLED_APIS=ec2,osapi_compute,osapi_volume,metadata
24 24
 # Another option is http://review.openstack.org/p
25 25
 GIT_BASE=https://github.com
26 26
 
27
+# metering service
28
+CEILOMETER_REPO=https://github.com/stackforge/ceilometer.git
29
+CEILOMETER_BRANCH=master
30
+
27 31
 # volume service
28 32
 CINDER_REPO=${GIT_BASE}/openstack/cinder
29 33
 CINDER_BRANCH=master