The ceilometer project is moving to using a devstack plugin rather
than having ceilometer in the base devstack. This is to allow
greater control and flexibility.
Change-Id: I413ab159474b7d7231ad66d3a482201f74efe8a8
... | ... |
@@ -154,7 +154,6 @@ Scripts |
154 | 154 |
* `functions <functions.html>`__ - DevStack-specific functions |
155 | 155 |
* `functions-common <functions-common.html>`__ - Functions shared with other projects |
156 | 156 |
* `lib/apache <lib/apache.html>`__ |
157 |
-* `lib/ceilometer <lib/ceilometer.html>`__ |
|
158 | 157 |
* `lib/ceph <lib/ceph.html>`__ |
159 | 158 |
* `lib/cinder <lib/cinder.html>`__ |
160 | 159 |
* `lib/database <lib/database.html>`__ |
161 | 160 |
deleted file mode 100644 |
... | ... |
@@ -1,15 +0,0 @@ |
1 |
-Listen %PORT% |
|
2 |
- |
|
3 |
-<VirtualHost *:%PORT%> |
|
4 |
- WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=%USER% display-name=%{GROUP} %VIRTUALENV% |
|
5 |
- WSGIProcessGroup ceilometer-api |
|
6 |
- WSGIScriptAlias / %WSGIAPP% |
|
7 |
- WSGIApplicationGroup %{GLOBAL} |
|
8 |
- <IfVersion >= 2.4> |
|
9 |
- ErrorLogFormat "%{cu}t %M" |
|
10 |
- </IfVersion> |
|
11 |
- ErrorLog /var/log/%APACHE_NAME%/ceilometer.log |
|
12 |
- CustomLog /var/log/%APACHE_NAME%/ceilometer_access.log combined |
|
13 |
-</VirtualHost> |
|
14 |
- |
|
15 |
-WSGISocketPrefix /var/run/%APACHE_NAME% |
... | ... |
@@ -1033,10 +1033,6 @@ function get_packages { |
1033 | 1033 |
if [[ ! $file_to_parse =~ $package_dir/cinder ]]; then |
1034 | 1034 |
file_to_parse="${file_to_parse} ${package_dir}/cinder" |
1035 | 1035 |
fi |
1036 |
- elif [[ $service == ceilometer-* ]]; then |
|
1037 |
- if [[ ! $file_to_parse =~ $package_dir/ceilometer ]]; then |
|
1038 |
- file_to_parse="${file_to_parse} ${package_dir}/ceilometer" |
|
1039 |
- fi |
|
1040 | 1036 |
elif [[ $service == s-* ]]; then |
1041 | 1037 |
if [[ ! $file_to_parse =~ $package_dir/swift ]]; then |
1042 | 1038 |
file_to_parse="${file_to_parse} ${package_dir}/swift" |
... | ... |
@@ -1777,7 +1773,6 @@ function enable_service { |
1777 | 1777 |
# There are special cases for some 'catch-all' services:: |
1778 | 1778 |
# **nova** returns true if any service enabled start with **n-** |
1779 | 1779 |
# **cinder** returns true if any service enabled start with **c-** |
1780 |
-# **ceilometer** returns true if any service enabled start with **ceilometer** |
|
1781 | 1780 |
# **glance** returns true if any service enabled start with **g-** |
1782 | 1781 |
# **neutron** returns true if any service enabled start with **q-** |
1783 | 1782 |
# **swift** returns true if any service enabled start with **s-** |
... | ... |
@@ -1813,7 +1808,6 @@ function is_service_enabled { |
1813 | 1813 |
[[ ${service} == n-cell-* && ${ENABLED_SERVICES} =~ "n-cell" ]] && enabled=0 |
1814 | 1814 |
[[ ${service} == n-cpu-* && ${ENABLED_SERVICES} =~ "n-cpu" ]] && enabled=0 |
1815 | 1815 |
[[ ${service} == "nova" && ${ENABLED_SERVICES} =~ "n-" ]] && enabled=0 |
1816 |
- [[ ${service} == "ceilometer" && ${ENABLED_SERVICES} =~ "ceilometer-" ]] && enabled=0 |
|
1817 | 1816 |
[[ ${service} == "glance" && ${ENABLED_SERVICES} =~ "g-" ]] && enabled=0 |
1818 | 1817 |
[[ ${service} == "ironic" && ${ENABLED_SERVICES} =~ "ir-" ]] && enabled=0 |
1819 | 1818 |
[[ ${service} == "neutron" && ${ENABLED_SERVICES} =~ "q-" ]] && enabled=0 |
1820 | 1819 |
deleted file mode 100644 |
... | ... |
@@ -1,418 +0,0 @@ |
1 |
-#!/bin/bash |
|
2 |
-# |
|
3 |
-# lib/ceilometer |
|
4 |
-# Install and start **Ceilometer** service |
|
5 |
- |
|
6 |
-# To enable a minimal set of Ceilometer services, add the following to the |
|
7 |
-# ``localrc`` section of ``local.conf``: |
|
8 |
-# |
|
9 |
-# enable_service ceilometer-acompute ceilometer-acentral ceilometer-anotification ceilometer-collector ceilometer-api |
|
10 |
-# |
|
11 |
-# To ensure Ceilometer alarming services are enabled also, further add to the |
|
12 |
-# localrc section of local.conf: |
|
13 |
-# |
|
14 |
-# enable_service ceilometer-alarm-notifier ceilometer-alarm-evaluator |
|
15 |
-# |
|
16 |
-# To enable Ceilometer to collect the IPMI based meters, further add to the |
|
17 |
-# localrc section of local.conf: |
|
18 |
-# |
|
19 |
-# enable_service ceilometer-aipmi |
|
20 |
-# |
|
21 |
-# NOTE: Currently, there are two ways to get the IPMI based meters in |
|
22 |
-# OpenStack. One way is to configure Ironic conductor to report those meters |
|
23 |
-# for the nodes managed by Ironic and to have Ceilometer notification |
|
24 |
-# agent to collect them. Ironic by default does NOT enable that reporting |
|
25 |
-# functionality. So in order to do so, users need to set the option of |
|
26 |
-# conductor.send_sensor_data to true in the ironic.conf configuration file |
|
27 |
-# for the Ironic conductor service, and also enable the |
|
28 |
-# ceilometer-anotification service. |
|
29 |
-# |
|
30 |
-# The other way is to use Ceilometer ipmi agent only to get the IPMI based |
|
31 |
-# meters. To avoid duplicated meters, users need to make sure to set the |
|
32 |
-# option of conductor.send_sensor_data to false in the ironic.conf |
|
33 |
-# configuration file if the node on which Ceilometer ipmi agent is running |
|
34 |
-# is also managed by Ironic. |
|
35 |
-# |
|
36 |
-# Several variables set in the localrc section adjust common behaviors |
|
37 |
-# of Ceilometer (see within for additional settings): |
|
38 |
-# |
|
39 |
-# CEILOMETER_USE_MOD_WSGI: When True, run the api under mod_wsgi. |
|
40 |
-# CEILOMETER_PIPELINE_INTERVAL: Seconds between pipeline processing runs. Default 600. |
|
41 |
-# CEILOMETER_BACKEND: Database backend (e.g. 'mysql', 'mongodb', 'es') |
|
42 |
-# CEILOMETER_COORDINATION_URL: URL for group membership service provided by tooz. |
|
43 |
-# CEILOMETER_EVENTS: Enable event collection |
|
44 |
- |
|
45 |
-# Dependencies: |
|
46 |
-# |
|
47 |
-# - functions |
|
48 |
-# - OS_AUTH_URL for auth in api |
|
49 |
-# - DEST set to the destination directory |
|
50 |
-# - SERVICE_PASSWORD, SERVICE_TENANT_NAME for auth in api |
|
51 |
-# - STACK_USER service user |
|
52 |
- |
|
53 |
-# stack.sh |
|
54 |
-# --------- |
|
55 |
-# - install_ceilometer |
|
56 |
-# - configure_ceilometer |
|
57 |
-# - init_ceilometer |
|
58 |
-# - start_ceilometer |
|
59 |
-# - stop_ceilometer |
|
60 |
-# - cleanup_ceilometer |
|
61 |
- |
|
62 |
-# Save trace setting |
|
63 |
-XTRACE=$(set +o | grep xtrace) |
|
64 |
-set +o xtrace |
|
65 |
- |
|
66 |
- |
|
67 |
-# Defaults |
|
68 |
-# -------- |
|
69 |
- |
|
70 |
-# Set up default directories |
|
71 |
-GITDIR["python-ceilometerclient"]=$DEST/python-ceilometerclient |
|
72 |
-GITDIR["ceilometermiddleware"]=$DEST/ceilometermiddleware |
|
73 |
- |
|
74 |
-CEILOMETER_DIR=$DEST/ceilometer |
|
75 |
-CEILOMETER_CONF_DIR=/etc/ceilometer |
|
76 |
-CEILOMETER_CONF=$CEILOMETER_CONF_DIR/ceilometer.conf |
|
77 |
-CEILOMETER_API_LOG_DIR=/var/log/ceilometer-api |
|
78 |
-CEILOMETER_AUTH_CACHE_DIR=${CEILOMETER_AUTH_CACHE_DIR:-/var/cache/ceilometer} |
|
79 |
-CEILOMETER_WSGI_DIR=${CEILOMETER_WSGI_DIR:-/var/www/ceilometer} |
|
80 |
- |
|
81 |
-# Support potential entry-points console scripts in VENV or not |
|
82 |
-if [[ ${USE_VENV} = True ]]; then |
|
83 |
- PROJECT_VENV["ceilometer"]=${CEILOMETER_DIR}.venv |
|
84 |
- CEILOMETER_BIN_DIR=${PROJECT_VENV["ceilometer"]}/bin |
|
85 |
-else |
|
86 |
- CEILOMETER_BIN_DIR=$(get_python_exec_prefix) |
|
87 |
-fi |
|
88 |
- |
|
89 |
-# Set up database backend |
|
90 |
-CEILOMETER_BACKEND=${CEILOMETER_BACKEND:-mysql} |
|
91 |
- |
|
92 |
-# Ceilometer connection info. |
|
93 |
-CEILOMETER_SERVICE_PROTOCOL=http |
|
94 |
-CEILOMETER_SERVICE_HOST=$SERVICE_HOST |
|
95 |
-CEILOMETER_SERVICE_PORT=${CEILOMETER_SERVICE_PORT:-8777} |
|
96 |
-CEILOMETER_USE_MOD_WSGI=$(trueorfalse False CEILOMETER_USE_MOD_WSGI) |
|
97 |
- |
|
98 |
-# To enable OSprofiler change value of this variable to "notifications,profiler" |
|
99 |
-CEILOMETER_NOTIFICATION_TOPICS=${CEILOMETER_NOTIFICATION_TOPICS:-notifications} |
|
100 |
-CEILOMETER_EVENTS=${CEILOMETER_EVENTS:-True} |
|
101 |
- |
|
102 |
-CEILOMETER_COORDINATION_URL=${CEILOMETER_COORDINATION_URL:-} |
|
103 |
-CEILOMETER_PIPELINE_INTERVAL=${CEILOMETER_PIPELINE_INTERVAL:-} |
|
104 |
- |
|
105 |
- |
|
106 |
-# Functions |
|
107 |
-# --------- |
|
108 |
- |
|
109 |
-# Test if any Ceilometer services are enabled |
|
110 |
-# is_ceilometer_enabled |
|
111 |
-function is_ceilometer_enabled { |
|
112 |
- [[ ,${ENABLED_SERVICES} =~ ,"ceilometer-" ]] && return 0 |
|
113 |
- return 1 |
|
114 |
-} |
|
115 |
- |
|
116 |
-# create_ceilometer_accounts() - Set up common required Ceilometer accounts |
|
117 |
-# |
|
118 |
-# Project User Roles |
|
119 |
-# ------------------------------------------------------------------ |
|
120 |
-# SERVICE_TENANT_NAME ceilometer admin |
|
121 |
-# SERVICE_TENANT_NAME ceilometer ResellerAdmin (if Swift is enabled) |
|
122 |
-function create_ceilometer_accounts { |
|
123 |
- |
|
124 |
- # Ceilometer |
|
125 |
- if [[ "$ENABLED_SERVICES" =~ "ceilometer-api" ]]; then |
|
126 |
- |
|
127 |
- create_service_user "ceilometer" "admin" |
|
128 |
- |
|
129 |
- if [[ "$KEYSTONE_CATALOG_BACKEND" = 'sql' ]]; then |
|
130 |
- get_or_create_service "ceilometer" "metering" "OpenStack Telemetry Service" |
|
131 |
- get_or_create_endpoint "metering" \ |
|
132 |
- "$REGION_NAME" \ |
|
133 |
- "$CEILOMETER_SERVICE_PROTOCOL://$CEILOMETER_SERVICE_HOST:$CEILOMETER_SERVICE_PORT/" \ |
|
134 |
- "$CEILOMETER_SERVICE_PROTOCOL://$CEILOMETER_SERVICE_HOST:$CEILOMETER_SERVICE_PORT/" \ |
|
135 |
- "$CEILOMETER_SERVICE_PROTOCOL://$CEILOMETER_SERVICE_HOST:$CEILOMETER_SERVICE_PORT/" |
|
136 |
- fi |
|
137 |
- if is_service_enabled swift; then |
|
138 |
- # Ceilometer needs ResellerAdmin role to access Swift account stats. |
|
139 |
- get_or_add_user_project_role "ResellerAdmin" "ceilometer" $SERVICE_TENANT_NAME |
|
140 |
- fi |
|
141 |
- fi |
|
142 |
-} |
|
143 |
- |
|
144 |
- |
|
145 |
-# _cleanup_keystone_apache_wsgi() - Remove WSGI files, disable and remove Apache vhost file |
|
146 |
-function _cleanup_ceilometer_apache_wsgi { |
|
147 |
- sudo rm -f $CEILOMETER_WSGI_DIR/* |
|
148 |
- sudo rm -f $(apache_site_config_for ceilometer) |
|
149 |
-} |
|
150 |
- |
|
151 |
-# cleanup_ceilometer() - Remove residual data files, anything left over from previous |
|
152 |
-# runs that a clean run would need to clean up |
|
153 |
-function cleanup_ceilometer { |
|
154 |
- if [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then |
|
155 |
- mongo ceilometer --eval "db.dropDatabase();" |
|
156 |
- elif [ "$CEILOMETER_BACKEND" = 'es' ] ; then |
|
157 |
- curl -XDELETE "localhost:9200/events_*" |
|
158 |
- fi |
|
159 |
- if [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then |
|
160 |
- _cleanup_ceilometer_apache_wsgi |
|
161 |
- fi |
|
162 |
-} |
|
163 |
- |
|
164 |
-function _config_ceilometer_apache_wsgi { |
|
165 |
- sudo mkdir -p $CEILOMETER_WSGI_DIR |
|
166 |
- |
|
167 |
- local ceilometer_apache_conf=$(apache_site_config_for ceilometer) |
|
168 |
- local apache_version=$(get_apache_version) |
|
169 |
- local venv_path="" |
|
170 |
- |
|
171 |
- # Copy proxy vhost and wsgi file |
|
172 |
- sudo cp $CEILOMETER_DIR/ceilometer/api/app.wsgi $CEILOMETER_WSGI_DIR/app |
|
173 |
- |
|
174 |
- if [[ ${USE_VENV} = True ]]; then |
|
175 |
- venv_path="python-path=${PROJECT_VENV["ceilometer"]}/lib/$(python_version)/site-packages" |
|
176 |
- fi |
|
177 |
- |
|
178 |
- sudo cp $FILES/apache-ceilometer.template $ceilometer_apache_conf |
|
179 |
- sudo sed -e " |
|
180 |
- s|%PORT%|$CEILOMETER_SERVICE_PORT|g; |
|
181 |
- s|%APACHE_NAME%|$APACHE_NAME|g; |
|
182 |
- s|%WSGIAPP%|$CEILOMETER_WSGI_DIR/app|g; |
|
183 |
- s|%USER%|$STACK_USER|g; |
|
184 |
- s|%VIRTUALENV%|$venv_path|g |
|
185 |
- " -i $ceilometer_apache_conf |
|
186 |
-} |
|
187 |
- |
|
188 |
-# configure_ceilometer() - Set config files, create data dirs, etc |
|
189 |
-function configure_ceilometer { |
|
190 |
- sudo install -d -o $STACK_USER -m 755 $CEILOMETER_CONF_DIR $CEILOMETER_API_LOG_DIR |
|
191 |
- |
|
192 |
- iniset_rpc_backend ceilometer $CEILOMETER_CONF |
|
193 |
- |
|
194 |
- iniset $CEILOMETER_CONF DEFAULT notification_topics "$CEILOMETER_NOTIFICATION_TOPICS" |
|
195 |
- iniset $CEILOMETER_CONF DEFAULT verbose True |
|
196 |
- iniset $CEILOMETER_CONF DEFAULT debug "$ENABLE_DEBUG_LOG_LEVEL" |
|
197 |
- |
|
198 |
- if [[ -n "$CEILOMETER_COORDINATION_URL" ]]; then |
|
199 |
- iniset $CEILOMETER_CONF coordination backend_url $CEILOMETER_COORDINATION_URL |
|
200 |
- iniset $CEILOMETER_CONF compute workload_partitioning True |
|
201 |
- fi |
|
202 |
- |
|
203 |
- # Install the policy file for the API server |
|
204 |
- cp $CEILOMETER_DIR/etc/ceilometer/policy.json $CEILOMETER_CONF_DIR |
|
205 |
- iniset $CEILOMETER_CONF oslo_policy policy_file $CEILOMETER_CONF_DIR/policy.json |
|
206 |
- |
|
207 |
- cp $CEILOMETER_DIR/etc/ceilometer/pipeline.yaml $CEILOMETER_CONF_DIR |
|
208 |
- cp $CEILOMETER_DIR/etc/ceilometer/event_pipeline.yaml $CEILOMETER_CONF_DIR |
|
209 |
- cp $CEILOMETER_DIR/etc/ceilometer/api_paste.ini $CEILOMETER_CONF_DIR |
|
210 |
- cp $CEILOMETER_DIR/etc/ceilometer/event_definitions.yaml $CEILOMETER_CONF_DIR |
|
211 |
- cp $CEILOMETER_DIR/etc/ceilometer/gnocchi_archive_policy_map.yaml $CEILOMETER_CONF_DIR |
|
212 |
- cp $CEILOMETER_DIR/etc/ceilometer/gnocchi_resources.yaml $CEILOMETER_CONF_DIR |
|
213 |
- |
|
214 |
- if [ "$CEILOMETER_PIPELINE_INTERVAL" ]; then |
|
215 |
- sed -i "s/interval:.*/interval: ${CEILOMETER_PIPELINE_INTERVAL}/" $CEILOMETER_CONF_DIR/pipeline.yaml |
|
216 |
- fi |
|
217 |
- |
|
218 |
- # The compute and central agents need these credentials in order to |
|
219 |
- # call out to other services' public APIs. |
|
220 |
- # The alarm evaluator needs these options to call ceilometer APIs |
|
221 |
- iniset $CEILOMETER_CONF service_credentials os_username ceilometer |
|
222 |
- iniset $CEILOMETER_CONF service_credentials os_password $SERVICE_PASSWORD |
|
223 |
- iniset $CEILOMETER_CONF service_credentials os_tenant_name $SERVICE_TENANT_NAME |
|
224 |
- iniset $CEILOMETER_CONF service_credentials os_region_name $REGION_NAME |
|
225 |
- iniset $CEILOMETER_CONF service_credentials os_auth_url $KEYSTONE_SERVICE_URI/v2.0 |
|
226 |
- |
|
227 |
- configure_auth_token_middleware $CEILOMETER_CONF ceilometer $CEILOMETER_AUTH_CACHE_DIR |
|
228 |
- |
|
229 |
- iniset $CEILOMETER_CONF notification store_events $CEILOMETER_EVENTS |
|
230 |
- |
|
231 |
- if [ "$CEILOMETER_BACKEND" = 'mysql' ] || [ "$CEILOMETER_BACKEND" = 'postgresql' ] ; then |
|
232 |
- iniset $CEILOMETER_CONF database alarm_connection $(database_connection_url ceilometer) |
|
233 |
- iniset $CEILOMETER_CONF database event_connection $(database_connection_url ceilometer) |
|
234 |
- iniset $CEILOMETER_CONF database metering_connection $(database_connection_url ceilometer) |
|
235 |
- iniset $CEILOMETER_CONF DEFAULT collector_workers $API_WORKERS |
|
236 |
- elif [ "$CEILOMETER_BACKEND" = 'es' ] ; then |
|
237 |
- # es is only supported for events. we will use sql for alarming/metering. |
|
238 |
- iniset $CEILOMETER_CONF database alarm_connection $(database_connection_url ceilometer) |
|
239 |
- iniset $CEILOMETER_CONF database event_connection es://localhost:9200 |
|
240 |
- iniset $CEILOMETER_CONF database metering_connection $(database_connection_url ceilometer) |
|
241 |
- iniset $CEILOMETER_CONF DEFAULT collector_workers $API_WORKERS |
|
242 |
- ${TOP_DIR}/pkg/elasticsearch.sh start |
|
243 |
- cleanup_ceilometer |
|
244 |
- elif [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then |
|
245 |
- iniset $CEILOMETER_CONF database alarm_connection mongodb://localhost:27017/ceilometer |
|
246 |
- iniset $CEILOMETER_CONF database event_connection mongodb://localhost:27017/ceilometer |
|
247 |
- iniset $CEILOMETER_CONF database metering_connection mongodb://localhost:27017/ceilometer |
|
248 |
- configure_mongodb |
|
249 |
- cleanup_ceilometer |
|
250 |
- else |
|
251 |
- die $LINENO "Unable to configure unknown CEILOMETER_BACKEND $CEILOMETER_BACKEND" |
|
252 |
- fi |
|
253 |
- |
|
254 |
- if [[ "$VIRT_DRIVER" = 'vsphere' ]]; then |
|
255 |
- iniset $CEILOMETER_CONF DEFAULT hypervisor_inspector vsphere |
|
256 |
- iniset $CEILOMETER_CONF vmware host_ip "$VMWAREAPI_IP" |
|
257 |
- iniset $CEILOMETER_CONF vmware host_username "$VMWAREAPI_USER" |
|
258 |
- iniset $CEILOMETER_CONF vmware host_password "$VMWAREAPI_PASSWORD" |
|
259 |
- fi |
|
260 |
- |
|
261 |
- if [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then |
|
262 |
- iniset $CEILOMETER_CONF api pecan_debug "False" |
|
263 |
- _config_ceilometer_apache_wsgi |
|
264 |
- fi |
|
265 |
- |
|
266 |
- if is_service_enabled ceilometer-aipmi; then |
|
267 |
- # Configure rootwrap for the ipmi agent |
|
268 |
- configure_rootwrap ceilometer |
|
269 |
- fi |
|
270 |
-} |
|
271 |
- |
|
272 |
-function configure_mongodb { |
|
273 |
- # Server package is the same on all |
|
274 |
- local packages=mongodb-server |
|
275 |
- |
|
276 |
- if is_fedora; then |
|
277 |
- # mongodb client |
|
278 |
- packages="${packages} mongodb" |
|
279 |
- fi |
|
280 |
- |
|
281 |
- install_package ${packages} |
|
282 |
- |
|
283 |
- if is_fedora; then |
|
284 |
- # Ensure smallfiles is selected to minimize freespace requirements |
|
285 |
- sudo sed -i '/--smallfiles/!s/OPTIONS=\"/OPTIONS=\"--smallfiles /' /etc/sysconfig/mongod |
|
286 |
- |
|
287 |
- restart_service mongod |
|
288 |
- fi |
|
289 |
- |
|
290 |
- # Give mongodb time to start-up |
|
291 |
- sleep 5 |
|
292 |
-} |
|
293 |
- |
|
294 |
-# init_ceilometer() - Initialize etc. |
|
295 |
-function init_ceilometer { |
|
296 |
- # Create cache dir |
|
297 |
- sudo install -d -o $STACK_USER $CEILOMETER_AUTH_CACHE_DIR |
|
298 |
- rm -f $CEILOMETER_AUTH_CACHE_DIR/* |
|
299 |
- |
|
300 |
- if is_service_enabled mysql postgresql; then |
|
301 |
- if [ "$CEILOMETER_BACKEND" = 'mysql' ] || [ "$CEILOMETER_BACKEND" = 'postgresql' ] || [ "$CEILOMETER_BACKEND" = 'es' ] ; then |
|
302 |
- recreate_database ceilometer |
|
303 |
- $CEILOMETER_BIN_DIR/ceilometer-dbsync |
|
304 |
- fi |
|
305 |
- fi |
|
306 |
-} |
|
307 |
- |
|
308 |
-# install_redis() - Install the redis server. |
|
309 |
-function install_redis { |
|
310 |
- if is_ubuntu; then |
|
311 |
- install_package redis-server |
|
312 |
- restart_service redis-server |
|
313 |
- else |
|
314 |
- # This will fail (correctly) where a redis package is unavailable |
|
315 |
- install_package redis |
|
316 |
- restart_service redis |
|
317 |
- fi |
|
318 |
-} |
|
319 |
- |
|
320 |
-# install_ceilometer() - Collect source and prepare |
|
321 |
-function install_ceilometer { |
|
322 |
- git_clone $CEILOMETER_REPO $CEILOMETER_DIR $CEILOMETER_BRANCH |
|
323 |
- setup_develop $CEILOMETER_DIR |
|
324 |
- |
|
325 |
- if echo $CEILOMETER_COORDINATION_URL | grep -q '^memcached:'; then |
|
326 |
- install_package memcached |
|
327 |
- elif echo $CEILOMETER_COORDINATION_URL | grep -q '^redis:'; then |
|
328 |
- install_redis |
|
329 |
- fi |
|
330 |
- |
|
331 |
- if [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then |
|
332 |
- pip_install_gr pymongo |
|
333 |
- fi |
|
334 |
- |
|
335 |
- # Only install virt drivers if we're running nova compute |
|
336 |
- if is_service_enabled n-cpu ; then |
|
337 |
- if [[ "$VIRT_DRIVER" = 'libvirt' ]]; then |
|
338 |
- pip_install_gr libvirt-python |
|
339 |
- fi |
|
340 |
- |
|
341 |
- if [[ "$VIRT_DRIVER" = 'vsphere' ]]; then |
|
342 |
- pip_install_gr oslo.vmware |
|
343 |
- fi |
|
344 |
- fi |
|
345 |
- |
|
346 |
- if [ "$CEILOMETER_BACKEND" = 'es' ] ; then |
|
347 |
- ${TOP_DIR}/pkg/elasticsearch.sh download |
|
348 |
- ${TOP_DIR}/pkg/elasticsearch.sh install |
|
349 |
- fi |
|
350 |
-} |
|
351 |
- |
|
352 |
-# install_ceilometerclient() - Collect source and prepare |
|
353 |
-function install_ceilometerclient { |
|
354 |
- if use_library_from_git "python-ceilometerclient"; then |
|
355 |
- git_clone_by_name "python-ceilometerclient" |
|
356 |
- setup_dev_lib "python-ceilometerclient" |
|
357 |
- sudo install -D -m 0644 -o $STACK_USER {${GITDIR["python-ceilometerclient"]}/tools/,/etc/bash_completion.d/}ceilometer.bash_completion |
|
358 |
- fi |
|
359 |
-} |
|
360 |
- |
|
361 |
-# start_ceilometer() - Start running processes, including screen |
|
362 |
-function start_ceilometer { |
|
363 |
- run_process ceilometer-acentral "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces central --config-file $CEILOMETER_CONF" |
|
364 |
- run_process ceilometer-anotification "$CEILOMETER_BIN_DIR/ceilometer-agent-notification --config-file $CEILOMETER_CONF" |
|
365 |
- run_process ceilometer-collector "$CEILOMETER_BIN_DIR/ceilometer-collector --config-file $CEILOMETER_CONF" |
|
366 |
- run_process ceilometer-aipmi "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces ipmi --config-file $CEILOMETER_CONF" |
|
367 |
- |
|
368 |
- if [[ "$CEILOMETER_USE_MOD_WSGI" == "False" ]]; then |
|
369 |
- run_process ceilometer-api "$CEILOMETER_BIN_DIR/ceilometer-api -d -v --log-dir=$CEILOMETER_API_LOG_DIR --config-file $CEILOMETER_CONF" |
|
370 |
- else |
|
371 |
- enable_apache_site ceilometer |
|
372 |
- restart_apache_server |
|
373 |
- tail_log ceilometer /var/log/$APACHE_NAME/ceilometer.log |
|
374 |
- tail_log ceilometer-api /var/log/$APACHE_NAME/ceilometer_access.log |
|
375 |
- fi |
|
376 |
- |
|
377 |
- |
|
378 |
- # Start the compute agent last to allow time for the collector to |
|
379 |
- # fully wake up and connect to the message bus. See bug #1355809 |
|
380 |
- if [[ "$VIRT_DRIVER" = 'libvirt' ]]; then |
|
381 |
- run_process ceilometer-acompute "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces compute --config-file $CEILOMETER_CONF" $LIBVIRT_GROUP |
|
382 |
- fi |
|
383 |
- if [[ "$VIRT_DRIVER" = 'vsphere' ]]; then |
|
384 |
- run_process ceilometer-acompute "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces compute --config-file $CEILOMETER_CONF" |
|
385 |
- fi |
|
386 |
- |
|
387 |
- # Only die on API if it was actually intended to be turned on |
|
388 |
- if is_service_enabled ceilometer-api; then |
|
389 |
- echo "Waiting for ceilometer-api to start..." |
|
390 |
- if ! wait_for_service $SERVICE_TIMEOUT $CEILOMETER_SERVICE_PROTOCOL://$CEILOMETER_SERVICE_HOST:$CEILOMETER_SERVICE_PORT/v2/; then |
|
391 |
- die $LINENO "ceilometer-api did not start" |
|
392 |
- fi |
|
393 |
- fi |
|
394 |
- |
|
395 |
- run_process ceilometer-alarm-notifier "$CEILOMETER_BIN_DIR/ceilometer-alarm-notifier --config-file $CEILOMETER_CONF" |
|
396 |
- run_process ceilometer-alarm-evaluator "$CEILOMETER_BIN_DIR/ceilometer-alarm-evaluator --config-file $CEILOMETER_CONF" |
|
397 |
-} |
|
398 |
- |
|
399 |
-# stop_ceilometer() - Stop running processes |
|
400 |
-function stop_ceilometer { |
|
401 |
- if [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then |
|
402 |
- disable_apache_site ceilometer |
|
403 |
- restart_apache_server |
|
404 |
- fi |
|
405 |
- # Kill the ceilometer screen windows |
|
406 |
- for serv in ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification ceilometer-collector ceilometer-api ceilometer-alarm-notifier ceilometer-alarm-evaluator; do |
|
407 |
- stop_process $serv |
|
408 |
- done |
|
409 |
-} |
|
410 |
- |
|
411 |
- |
|
412 |
-# Restore xtrace |
|
413 |
-$XTRACE |
|
414 |
- |
|
415 |
-# Tell emacs to use shell-script-mode |
|
416 |
-## Local variables: |
|
417 |
-## mode: shell-script |
|
418 |
-## End: |
... | ... |
@@ -1,9 +1,8 @@ |
1 | 1 |
#!/usr/bin/env bash |
2 | 2 |
|
3 | 3 |
# ``stack.sh`` is an opinionated OpenStack developer installation. It |
4 |
-# installs and configures various combinations of **Ceilometer**, **Cinder**, |
|
5 |
-# **Glance**, **Heat**, **Horizon**, **Keystone**, **Nova**, **Neutron**, |
|
6 |
-# and **Swift** |
|
4 |
+# installs and configures various combinations of **Cinder**, **Glance**, |
|
5 |
+# **Heat**, **Horizon**, **Keystone**, **Nova**, **Neutron**, and **Swift** |
|
7 | 6 |
|
8 | 7 |
# This script's options can be changed by setting appropriate environment |
9 | 8 |
# variables. You can configure things like which git repositories to use, |
... | ... |
@@ -542,7 +541,6 @@ source $TOP_DIR/lib/glance |
542 | 542 |
source $TOP_DIR/lib/nova |
543 | 543 |
source $TOP_DIR/lib/cinder |
544 | 544 |
source $TOP_DIR/lib/swift |
545 |
-source $TOP_DIR/lib/ceilometer |
|
546 | 545 |
source $TOP_DIR/lib/heat |
547 | 546 |
source $TOP_DIR/lib/neutron-legacy |
548 | 547 |
source $TOP_DIR/lib/ldap |
... | ... |
@@ -826,13 +824,6 @@ if is_service_enabled horizon; then |
826 | 826 |
configure_horizon |
827 | 827 |
fi |
828 | 828 |
|
829 |
-if is_service_enabled ceilometer; then |
|
830 |
- install_ceilometerclient |
|
831 |
- stack_install_service ceilometer |
|
832 |
- echo_summary "Configuring Ceilometer" |
|
833 |
- configure_ceilometer |
|
834 |
-fi |
|
835 |
- |
|
836 | 829 |
if is_service_enabled heat; then |
837 | 830 |
stack_install_service heat |
838 | 831 |
install_heat_other |
... | ... |
@@ -1008,10 +999,6 @@ if is_service_enabled keystone; then |
1008 | 1008 |
create_cinder_accounts |
1009 | 1009 |
create_neutron_accounts |
1010 | 1010 |
|
1011 |
- if is_service_enabled ceilometer; then |
|
1012 |
- create_ceilometer_accounts |
|
1013 |
- fi |
|
1014 |
- |
|
1015 | 1011 |
if is_service_enabled swift; then |
1016 | 1012 |
create_swift_accounts |
1017 | 1013 |
fi |
... | ... |
@@ -1255,11 +1242,6 @@ if is_service_enabled cinder; then |
1255 | 1255 |
start_cinder |
1256 | 1256 |
create_volume_types |
1257 | 1257 |
fi |
1258 |
-if is_service_enabled ceilometer; then |
|
1259 |
- echo_summary "Starting Ceilometer" |
|
1260 |
- init_ceilometer |
|
1261 |
- start_ceilometer |
|
1262 |
-fi |
|
1263 | 1258 |
|
1264 | 1259 |
# Configure and launch Heat engine, api and metadata |
1265 | 1260 |
if is_service_enabled heat; then |
... | ... |
@@ -181,10 +181,6 @@ REQUIREMENTS_DIR=$DEST/requirements |
181 | 181 |
# |
182 | 182 |
############## |
183 | 183 |
|
184 |
-# telemetry service |
|
185 |
-CEILOMETER_REPO=${CEILOMETER_REPO:-${GIT_BASE}/openstack/ceilometer.git} |
|
186 |
-CEILOMETER_BRANCH=${CEILOMETER_BRANCH:-master} |
|
187 |
- |
|
188 | 184 |
# block storage service |
189 | 185 |
CINDER_REPO=${CINDER_REPO:-${GIT_BASE}/openstack/cinder.git} |
190 | 186 |
CINDER_BRANCH=${CINDER_BRANCH:-master} |
... | ... |
@@ -258,10 +254,6 @@ GITBRANCH["tempest-lib"]=${TEMPEST_LIB_BRANCH:-master} |
258 | 258 |
# |
259 | 259 |
############## |
260 | 260 |
|
261 |
-# ceilometer client library |
|
262 |
-GITREPO["python-ceilometerclient"]=${CEILOMETERCLIENT_REPO:-${GIT_BASE}/openstack/python-ceilometerclient.git} |
|
263 |
-GITBRANCH["python-ceilometerclient"]=${CEILOMETERCLIENT_BRANCH:-master} |
|
264 |
- |
|
265 | 261 |
# volume client |
266 | 262 |
GITREPO["python-cinderclient"]=${CINDERCLIENT_REPO:-${GIT_BASE}/openstack/python-cinderclient.git} |
267 | 263 |
GITBRANCH["python-cinderclient"]=${CINDERCLIENT_BRANCH:-master} |
... | ... |
@@ -449,6 +441,7 @@ SWIFT3_BRANCH=${SWIFT3_BRANCH:-master} |
449 | 449 |
# ceilometer middleware |
450 | 450 |
GITREPO["ceilometermiddleware"]=${CEILOMETERMIDDLEWARE_REPO:-${GIT_BASE}/openstack/ceilometermiddleware.git} |
451 | 451 |
GITBRANCH["ceilometermiddleware"]=${CEILOMETERMIDDLEWARE_BRANCH:-master} |
452 |
+GITDIR["ceilometermiddleware"]=$DEST/ceilometermiddleware |
|
452 | 453 |
|
453 | 454 |
# os-brick library to manage local volume attaches |
454 | 455 |
GITREPO["os-brick"]=${OS_BRICK_REPO:-${GIT_BASE}/openstack/os-brick.git} |
... | ... |
@@ -37,7 +37,7 @@ ALL_LIBS+=" python-cinderclient glance_store oslo.concurrency oslo.db" |
37 | 37 |
ALL_LIBS+=" oslo.versionedobjects oslo.vmware keystonemiddleware" |
38 | 38 |
ALL_LIBS+=" oslo.serialization django_openstack_auth" |
39 | 39 |
ALL_LIBS+=" python-openstackclient oslo.rootwrap oslo.i18n" |
40 |
-ALL_LIBS+=" python-ceilometerclient oslo.utils python-swiftclient" |
|
40 |
+ALL_LIBS+=" oslo.utils python-swiftclient" |
|
41 | 41 |
ALL_LIBS+=" python-neutronclient tooz ceilometermiddleware oslo.policy" |
42 | 42 |
ALL_LIBS+=" debtcollector os-brick automaton futurist oslo.service" |
43 | 43 |
ALL_LIBS+=" oslo.cache oslo.reports" |
... | ... |
@@ -65,7 +65,6 @@ source $TOP_DIR/lib/glance |
65 | 65 |
source $TOP_DIR/lib/nova |
66 | 66 |
source $TOP_DIR/lib/cinder |
67 | 67 |
source $TOP_DIR/lib/swift |
68 |
-source $TOP_DIR/lib/ceilometer |
|
69 | 68 |
source $TOP_DIR/lib/heat |
70 | 69 |
source $TOP_DIR/lib/neutron-legacy |
71 | 70 |
source $TOP_DIR/lib/ldap |
... | ... |
@@ -104,10 +103,6 @@ if is_service_enabled heat; then |
104 | 104 |
stop_heat |
105 | 105 |
fi |
106 | 106 |
|
107 |
-if is_service_enabled ceilometer; then |
|
108 |
- stop_ceilometer |
|
109 |
-fi |
|
110 |
- |
|
111 | 107 |
if is_service_enabled nova; then |
112 | 108 |
stop_nova |
113 | 109 |
fi |