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 |