summaryrefslogtreecommitdiff
path: root/devstack
diff options
context:
space:
mode:
Diffstat (limited to 'devstack')
-rw-r--r--devstack/apache-ceilometer.template15
-rw-r--r--devstack/plugin.sh163
-rw-r--r--devstack/settings11
-rw-r--r--devstack/upgrade/settings4
-rwxr-xr-xdevstack/upgrade/shutdown.sh2
-rwxr-xr-xdevstack/upgrade/upgrade.sh17
6 files changed, 12 insertions, 200 deletions
diff --git a/devstack/apache-ceilometer.template b/devstack/apache-ceilometer.template
deleted file mode 100644
index 79f14c38..00000000
--- a/devstack/apache-ceilometer.template
+++ /dev/null
@@ -1,15 +0,0 @@
-Listen %PORT%
-
-<VirtualHost *:%PORT%>
- WSGIDaemonProcess ceilometer-api processes=2 threads=10 user=%USER% display-name=%{GROUP} %VIRTUALENV%
- WSGIProcessGroup ceilometer-api
- WSGIScriptAlias / %WSGIAPP%
- WSGIApplicationGroup %{GLOBAL}
- <IfVersion >= 2.4>
- ErrorLogFormat "%{cu}t %M"
- </IfVersion>
- ErrorLog /var/log/%APACHE_NAME%/ceilometer.log
- CustomLog /var/log/%APACHE_NAME%/ceilometer_access.log combined
-</VirtualHost>
-
-WSGISocketPrefix /var/run/%APACHE_NAME%
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
index 7036addd..3d951a8a 100644
--- a/devstack/plugin.sh
+++ b/devstack/plugin.sh
@@ -34,7 +34,7 @@
# of Ceilometer (see within for additional settings):
#
# CEILOMETER_PIPELINE_INTERVAL: Seconds between pipeline processing runs. Default 600.
-# CEILOMETER_BACKEND: Database backend (e.g. 'mysql', 'mongodb', 'gnocchi', 'none')
+# CEILOMETER_BACKEND: Database backend (e.g. 'gnocchi', 'none')
# CEILOMETER_COORDINATION_URL: URL for group membership service provided by tooz.
# CEILOMETER_EVENT_ALARM: Set to True to enable publisher for event alarming
@@ -57,36 +57,11 @@ function is_ceilometer_enabled {
return 1
}
-function ceilometer_service_url {
- echo "$CEILOMETER_SERVICE_PROTOCOL://$CEILOMETER_SERVICE_HOST:$CEILOMETER_SERVICE_PORT"
-}
-
function gnocchi_service_url {
echo "$GNOCCHI_SERVICE_PROTOCOL://$GNOCCHI_SERVICE_HOST/metric"
}
-# _ceilometer_install_mongdb - Install mongodb and python lib.
-function _ceilometer_install_mongodb {
- # Server package is the same on all
- local packages=mongodb-server
-
- if is_fedora; then
- # mongodb client
- packages="${packages} mongodb"
- fi
-
- install_package ${packages}
-
- if is_fedora; then
- restart_service mongod
- else
- restart_service mongodb
- fi
-
- # give time for service to restart
- sleep 5
-}
# _ceilometer_install_redis() - Install the redis server and python lib.
function _ceilometer_install_redis {
@@ -117,9 +92,6 @@ function _ceilometer_config_apache_wsgi {
local apache_version=$(get_apache_version)
local venv_path=""
- # Copy proxy vhost and wsgi file
- sudo cp $CEILOMETER_DIR/ceilometer/api/app.wsgi $CEILOMETER_WSGI_DIR/app
-
if [[ ${USE_VENV} = True ]]; then
venv_path="python-path=${PROJECT_VENV["ceilometer"]}/lib/$(python_version)/site-packages"
fi
@@ -143,15 +115,6 @@ function _ceilometer_prepare_coordination {
fi
}
-# Install required services for storage backends
-function _ceilometer_prepare_storage_backend {
- if [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then
- pip_install_gr pymongo
- _ceilometer_install_mongodb
- fi
-}
-
-
# Install the python modules for inspecting nova virt instances
function _ceilometer_prepare_virt_drivers {
# Only install virt drivers if we're running nova compute
@@ -176,15 +139,6 @@ function ceilometer_create_accounts {
create_service_user "ceilometer" "admin"
- if is_service_enabled ceilometer-api; then
- get_or_create_service "ceilometer" "metering" "OpenStack Telemetry Service"
- get_or_create_endpoint "metering" \
- "$REGION_NAME" \
- "$(ceilometer_service_url)" \
- "$(ceilometer_service_url)" \
- "$(ceilometer_service_url)"
- fi
-
if is_service_enabled swift; then
# Ceilometer needs ResellerAdmin role to access Swift account stats.
get_or_add_user_project_role "ResellerAdmin" "ceilometer" $SERVICE_PROJECT_NAME
@@ -243,28 +197,9 @@ function preinstall_ceilometer {
echo_summary "Preinstall not in virtualenv context. Skipping."
}
-# Remove WSGI files, disable and remove Apache vhost file
-function _ceilometer_cleanup_apache_wsgi {
- if is_service_enabled ceilometer-api && [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then
- sudo rm -f "$CEILOMETER_WSGI_DIR"/*
- sudo rmdir "$CEILOMETER_WSGI_DIR"
- sudo rm -f $(apache_site_config_for ceilometer)
- fi
-}
-
-function _ceilometer_drop_database {
- if is_service_enabled ceilometer-api ; then
- if [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then
- mongo ceilometer --eval "db.dropDatabase();"
- fi
- fi
-}
-
# cleanup_ceilometer() - Remove residual data files, anything left over
# from previous runs that a clean run would need to clean up
function cleanup_ceilometer {
- _ceilometer_cleanup_apache_wsgi
- _ceilometer_drop_database
sudo rm -f "$CEILOMETER_CONF_DIR"/*
sudo rmdir "$CEILOMETER_CONF_DIR"
}
@@ -288,9 +223,6 @@ function _ceilometer_configure_cache_backend {
# Set configuration for storage backend.
function _ceilometer_configure_storage_backend {
-
- inidelete $CEILOMETER_CONF database metering_connection
-
if [ "$CEILOMETER_BACKEND" = 'none' ] ; then
# It's ok for the backend to be 'none', if panko is enabled. We do not
# combine this condition with the outer if statement, so that the else
@@ -298,37 +230,18 @@ function _ceilometer_configure_storage_backend {
if ! is_service_enabled panko-api; then
echo_summary "All Ceilometer backends seems disabled, set \$CEILOMETER_BACKEND to select one."
fi
- elif [ "$CEILOMETER_BACKEND" = 'mysql' ] || [ "$CEILOMETER_BACKEND" = 'postgresql' ] ; then
- iniset $CEILOMETER_CONF database metering_connection $(database_connection_url ceilometer)
- elif [ "$CEILOMETER_BACKEND" = 'mongodb' ] ; then
- iniset $CEILOMETER_CONF database metering_connection mongodb://localhost:27017/ceilometer
elif [ "$CEILOMETER_BACKEND" = 'gnocchi' ] ; then
- # NOTE(gordc): set batching to better handle recording on a slow machine
- iniset $CEILOMETER_CONF collector batch_size 50
- iniset $CEILOMETER_CONF collector batch_timeout 5
- iniset $CEILOMETER_CONF dispatcher_gnocchi archive_policy ${GNOCCHI_ARCHIVE_POLICY}
- if is_service_enabled swift && [[ "$GNOCCHI_STORAGE_BACKEND" = 'swift' ]] ; then
- iniset $CEILOMETER_CONF dispatcher_gnocchi filter_service_activity "True"
- iniset $CEILOMETER_CONF dispatcher_gnocchi filter_project "gnocchi_swift"
- else
- iniset $CEILOMETER_CONF dispatcher_gnocchi filter_service_activity "False"
- fi
+ sed -i "s/gnocchi:\/\//gnocchi:\/\/?archive_policy=${GNOCCHI_ARCHIVE_POLICY}\&filter_project=gnocchi_swift/" $CEILOMETER_CONF_DIR/event_pipeline.yaml $CEILOMETER_CONF_DIR/pipeline.yaml
else
die $LINENO "Unable to configure unknown CEILOMETER_BACKEND $CEILOMETER_BACKEND"
fi
- if [ "$CEILOMETER_BACKEND" = 'mysql' ] || [ "$CEILOMETER_BACKEND" = 'postgresql' ] || [ "$CEILOMETER_BACKEND" = 'mongodb' ]; then
- sed -i 's/gnocchi:\/\//database:\/\//g' $CEILOMETER_CONF_DIR/event_pipeline.yaml $CEILOMETER_CONF_DIR/pipeline.yaml
- fi
-
# configure panko
if is_service_enabled panko-api; then
if ! grep -q 'panko' $CEILOMETER_CONF_DIR/event_pipeline.yaml ; then
echo ' - panko://' >> $CEILOMETER_CONF_DIR/event_pipeline.yaml
fi
fi
-
- _ceilometer_drop_database
}
# Configure Ceilometer
@@ -345,7 +258,6 @@ function configure_ceilometer {
iniset $CEILOMETER_CONF coordination backend_url $CEILOMETER_COORDINATION_URL
iniset $CEILOMETER_CONF notification workload_partitioning True
iniset $CEILOMETER_CONF notification workers $API_WORKERS
- iniset $CEILOMETER_CONF notification pipeline_processing_queues $API_WORKERS
fi
if [[ -n "$CEILOMETER_CACHE_BACKEND" ]]; then
@@ -358,9 +270,6 @@ function configure_ceilometer {
# with rootwrap installation done elsewhere and also clobber
# ceilometer.conf settings that have already been made.
# Anyway, explicit is better than implicit.
- for conffile in policy.json api_paste.ini; do
- cp $CEILOMETER_DIR/etc/ceilometer/$conffile $CEILOMETER_CONF_DIR
- done
cp $CEILOMETER_DIR/etc/ceilometer/polling_all.yaml $CEILOMETER_CONF_DIR/polling.yaml
cp $CEILOMETER_DIR/ceilometer/pipeline/data/*.yaml $CEILOMETER_CONF_DIR
@@ -387,15 +296,6 @@ function configure_ceilometer {
configure_auth_token_middleware $CEILOMETER_CONF ceilometer $CEILOMETER_AUTH_CACHE_DIR
- # Configure storage
- if is_service_enabled ceilometer-api; then
- _ceilometer_configure_storage_backend
- fi
-
- if is_service_enabled ceilometer-collector; then
- iniset $CEILOMETER_CONF collector workers $API_WORKERS
- fi
-
if [[ "$VIRT_DRIVER" = 'vsphere' ]]; then
iniset $CEILOMETER_CONF DEFAULT hypervisor_inspector vsphere
iniset $CEILOMETER_CONF vmware host_ip "$VMWAREAPI_IP"
@@ -403,9 +303,7 @@ function configure_ceilometer {
iniset $CEILOMETER_CONF vmware host_password "$VMWAREAPI_PASSWORD"
fi
- if is_service_enabled ceilometer-api && [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then
- _ceilometer_config_apache_wsgi
- fi
+ _ceilometer_configure_storage_backend
if is_service_enabled ceilometer-aipmi; then
# Configure rootwrap for the ipmi agent
@@ -418,15 +316,6 @@ function init_ceilometer {
# Create cache dir
sudo install -d -o $STACK_USER $CEILOMETER_AUTH_CACHE_DIR
rm -f $CEILOMETER_AUTH_CACHE_DIR/*
-
- if is_service_enabled ceilometer-api; then
- if is_service_enabled mysql postgresql ; then
- if [ "$CEILOMETER_BACKEND" = 'mysql' ] || [ "$CEILOMETER_BACKEND" = 'postgresql' ] || [ "$CEILOMETER_BACKEND" = 'es' ] ; then
- recreate_database ceilometer
- $CEILOMETER_BIN_DIR/ceilometer-upgrade --skip-gnocchi-resource-types
- fi
- fi
- fi
}
# Install Ceilometer.
@@ -441,37 +330,17 @@ function install_ceilometer {
! [[ $DEVSTACK_PLUGINS =~ 'gnocchi' ]] && [ "$CEILOMETER_BACKEND" = 'gnocchi' ] && install_gnocchi
- if is_service_enabled ceilometer-api; then
- _ceilometer_prepare_storage_backend
- fi
-
if is_service_enabled ceilometer-acompute ; then
_ceilometer_prepare_virt_drivers
fi
- install_ceilometerclient
-
case $CEILOMETER_BACKEND in
- mongodb) extra=mongo;;
gnocchi) extra=gnocchi;;
- mysql) extra=mysql;;
- postgresql) extra=postgresql;;
esac
setup_develop $CEILOMETER_DIR $extra
sudo install -d -o $STACK_USER -m 755 $CEILOMETER_CONF_DIR
}
-# install_ceilometerclient() - Collect source and prepare
-function install_ceilometerclient {
- if use_library_from_git "python-ceilometerclient"; then
- git_clone_by_name "python-ceilometerclient"
- setup_dev_lib "python-ceilometerclient"
- sudo install -D -m 0644 -o $STACK_USER {${GITDIR["python-ceilometerclient"]}/tools/,/etc/bash_completion.d/}ceilometer.bash_completion
- else
- pip_install_gr python-ceilometerclient
- fi
-}
-
# start_ceilometer() - Start running processes, including screen
function start_ceilometer {
@@ -479,27 +348,17 @@ function start_ceilometer {
run_process gnocchi-api "$CEILOMETER_BIN_DIR/uwsgi --ini $GNOCCHI_UWSGI_FILE" ""
run_process gnocchi-metricd "$CEILOMETER_BIN_DIR/gnocchi-metricd --config-file $GNOCCHI_CONF"
wait_for_service 30 "$(gnocchi_service_url)"
- $CEILOMETER_BIN_DIR/ceilometer-upgrade --skip-metering-database
+ $CEILOMETER_BIN_DIR/ceilometer-upgrade
fi
run_process ceilometer-acentral "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces central --config-file $CEILOMETER_CONF"
run_process ceilometer-aipmi "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces ipmi --config-file $CEILOMETER_CONF"
- if [[ "$CEILOMETER_USE_MOD_WSGI" == "False" ]]; then
- run_process ceilometer-api "$CEILOMETER_BIN_DIR/ceilometer-api --port $CEILOMETER_SERVICE_PORT"
- elif is_service_enabled ceilometer-api; then
- enable_apache_site ceilometer
- restart_apache_server
- tail_log ceilometer /var/log/$APACHE_NAME/ceilometer.log
- tail_log ceilometer-api /var/log/$APACHE_NAME/ceilometer_access.log
- fi
-
- # run the notification agent/collector after restarting apache as it needs
+ # run the notification agent after restarting apache as it needs
# operational keystone if using gnocchi
run_process ceilometer-anotification "$CEILOMETER_BIN_DIR/ceilometer-agent-notification --config-file $CEILOMETER_CONF"
- run_process ceilometer-collector "$CEILOMETER_BIN_DIR/ceilometer-collector --config-file $CEILOMETER_CONF"
- # Start the compute agent late to allow time for the collector to
+ # Start the compute agent late to allow time for the notification agent to
# fully wake up and connect to the message bus. See bug #1355809
if [[ "$VIRT_DRIVER" = 'libvirt' ]]; then
run_process ceilometer-acompute "$CEILOMETER_BIN_DIR/ceilometer-polling --polling-namespaces compute --config-file $CEILOMETER_CONF" $LIBVIRT_GROUP
@@ -511,17 +370,9 @@ function start_ceilometer {
# stop_ceilometer() - Stop running processes
function stop_ceilometer {
- if is_service_enabled ceilometer-api ; then
- if [ "$CEILOMETER_USE_MOD_WSGI" == "True" ]; then
- disable_apache_site ceilometer
- restart_apache_server
- else
- stop_process ceilometer-api
- fi
- fi
# Kill the ceilometer screen windows
- for serv in ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification ceilometer-collector; do
+ for serv in ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification; do
stop_process $serv
done
}
diff --git a/devstack/settings b/devstack/settings
index 7c2bfb3c..b2768eed 100644
--- a/devstack/settings
+++ b/devstack/settings
@@ -11,11 +11,8 @@ CEILOMETER_CONF=$CEILOMETER_CONF_DIR/ceilometer.conf
CEILOMETER_AUTH_CACHE_DIR=${CEILOMETER_AUTH_CACHE_DIR:-/var/cache/ceilometer}
CEILOMETER_WSGI_DIR=${CEILOMETER_WSGI_DIR:-/var/www/ceilometer}
-# Set up no backend
CEILOMETER_BACKEND=${CEILOMETER_BACKEND:-gnocchi}
-if [ "$CEILOMETER_BACKEND" = "es" ] || [ "$CEILOMETER_BACKEND" = "mysql" ] || [ "$CEILOMETER_BACKEND" = "postgresql" ] || [ "$CEILOMETER_BACKEND" = "mongodb" ]; then
- enable_service ceilometer-api
-elif [ "$CEILOMETER_BACKEND" = "gnocchi" ]; then
+if [ "$CEILOMETER_BACKEND" = "gnocchi" ]; then
enable_service gnocchi-api gnocchi-metricd
fi
@@ -38,12 +35,6 @@ GNOCCHI_WSGI_DIR=${GNOCCHI_WSGI_DIR:-/var/www/gnocchi}
# when the gate job have overrided this.
CEILOMETER_ALARM_GRANULARITY=${CEILOMETER_ALARM_GRANULARITY:-60}
-# Ceilometer connection info.
-CEILOMETER_SERVICE_PROTOCOL=http
-CEILOMETER_SERVICE_HOST=${CEILOMETER_SERVICE_HOST:-${SERVICE_HOST}}
-CEILOMETER_SERVICE_PORT=${CEILOMETER_SERVICE_PORT:-8777}
-CEILOMETER_USE_MOD_WSGI=${CEILOMETER_USE_MOD_WSGI:-${ENABLE_HTTPD_MOD_WSGI_SERVICES}}
-
# To enable OSprofiler change value of this variable to "notifications,profiler"
CEILOMETER_NOTIFICATION_TOPICS=${CEILOMETER_NOTIFICATION_TOPICS:-notifications}
diff --git a/devstack/upgrade/settings b/devstack/upgrade/settings
index 6a2dad94..0324704f 100644
--- a/devstack/upgrade/settings
+++ b/devstack/upgrade/settings
@@ -1,7 +1,7 @@
register_project_for_upgrade ceilometer
devstack_localrc base enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer
-devstack_localrc base enable_service ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification ceilometer-collector ceilometer-api tempest
+devstack_localrc base enable_service ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification tempest
devstack_localrc target enable_plugin ceilometer git://git.openstack.org/openstack/ceilometer
-devstack_localrc target enable_service ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification ceilometer-collector ceilometer-api tempest
+devstack_localrc target enable_service ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification tempest
diff --git a/devstack/upgrade/shutdown.sh b/devstack/upgrade/shutdown.sh
index ec0e692b..ccd42bac 100755
--- a/devstack/upgrade/shutdown.sh
+++ b/devstack/upgrade/shutdown.sh
@@ -22,6 +22,6 @@ stop_ceilometer
# ensure everything is stopped
-SERVICES_DOWN="ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification ceilometer-collector ceilometer-api"
+SERVICES_DOWN="ceilometer-acompute ceilometer-acentral ceilometer-aipmi ceilometer-anotification"
ensure_services_stopped $SERVICES_DOWN
diff --git a/devstack/upgrade/upgrade.sh b/devstack/upgrade/upgrade.sh
index 929d0ead..b5aa6753 100755
--- a/devstack/upgrade/upgrade.sh
+++ b/devstack/upgrade/upgrade.sh
@@ -33,13 +33,6 @@ source $GRENADE_DIR/functions
# only the first error that occurred.
set -o errexit
-# Save mongodb state (replace with snapshot)
-# TODO(chdent): There used to be a 'register_db_to_save ceilometer'
-# which may wish to consider putting back in.
-if grep -q 'connection *= *mongo' /etc/ceilometer/ceilometer.conf; then
- mongodump --db ceilometer --out $SAVE_DIR/ceilometer-dump.$BASE_RELEASE
-fi
-
# Upgrade Ceilometer
# ==================
# Locate ceilometer devstack plugin, the directory above the
@@ -79,15 +72,7 @@ start_ceilometer
# the impi is not ready. The ceilometer-polling should fail.
ensure_services_started "ceilometer-polling --polling-namespaces compute" \
"ceilometer-polling --polling-namespaces central" \
- ceilometer-agent-notification \
- ceilometer-api \
- ceilometer-collector
-
-# Save mongodb state (replace with snapshot)
-if grep -q 'connection *= *mongo' /etc/ceilometer/ceilometer.conf; then
- mongodump --db ceilometer --out $SAVE_DIR/ceilometer-dump.$TARGET_RELEASE
-fi
-
+ ceilometer-agent-notification
set +o xtrace
echo "*********************************************************************"