From ad80eadb084b476ca5df67c968cb22df722d8cfc Mon Sep 17 00:00:00 2001 From: Eoghan Glynn Date: Thu, 27 Sep 2012 09:36:33 +0100 Subject: [PATCH] Config for ceilometer gathering from glance Some changes are required so that ceilometer can gather usage data from glance (notification & polling) out-of-the-box in devstack: - configure glance to emit notifications if rabbitmq or qpid is enabled - configure the ceilometer collector to consume notifications on the default glance topic (glance_notifications.*) - pass credentials to ceilometer central agent so that it authtenticate polling calls to glance Change-Id: I0eac223eddb615266e28447b18fcaaadcd40dddf --- lib/ceilometer | 6 +++++- lib/glance | 7 +++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/lib/ceilometer b/lib/ceilometer index 35d25079ed..bea68ed08d 100644 --- a/lib/ceilometer +++ b/lib/ceilometer @@ -6,6 +6,9 @@ # Dependencies: # - functions +# - OS_USERNAME, OS_PASSWORD, OS_TENANT_NAME, OS_AUTH_URL set for admin credentials +# - DEST set to the destination directory +# - NOVA_CONF_DIR, NOVA_CONF set to the nova configuration directory & file # stack.sh # --------- @@ -57,6 +60,7 @@ function configure_ceilometer() { # ceilometer confs are copy of /etc/nova/nova.conf which must exist first grep -v format_string $NOVA_CONF_DIR/$NOVA_CONF > $CEILOMETER_AGENT_CONF grep -v format_string $NOVA_CONF_DIR/$NOVA_CONF > $CEILOMETER_COLLECTOR_CONF + iniset $CEILOMETER_COLLECTOR_CONF DEFAULT notification_topics 'notifications,glance_notifications' } # install_ceilometer() - Collect source and prepare @@ -67,7 +71,7 @@ function install_ceilometer() { # start_ceilometer() - Start running processes, including screen function start_ceilometer() { screen_it ceilometer-acompute "cd $CEILOMETER_DIR && $CEILOMETER_BIN_DIR/ceilometer-agent-compute --config-file $CEILOMETER_AGENT_CONF" - screen_it ceilometer-acentral "cd $CEILOMETER_DIR && $CEILOMETER_BIN_DIR/ceilometer-agent-central --config-file $CEILOMETER_AGENT_CONF" + screen_it ceilometer-acentral "export OS_USERNAME=$OS_USERNAME OS_PASSWORD=$OS_PASSWORD OS_TENANT_NAME=$OS_TENANT_NAME OS_AUTH_URL=$OS_AUTH_URL && cd $CEILOMETER_DIR && $CEILOMETER_BIN_DIR/ceilometer-agent-central --config-file $CEILOMETER_AGENT_CONF" screen_it ceilometer-collector "cd $CEILOMETER_DIR && $CEILOMETER_BIN_DIR/ceilometer-collector --config-file $CEILOMETER_COLLECTOR_CONF" screen_it ceilometer-api "cd $CEILOMETER_DIR && $CEILOMETER_BIN_DIR/ceilometer-api -d -v --log-dir=$CEILOMETER_API_LOG_DIR" } diff --git a/lib/glance b/lib/glance index 4cc6253e00..070c80d1ab 100644 --- a/lib/glance +++ b/lib/glance @@ -107,6 +107,13 @@ function configure_glance() { iniset $GLANCE_API_CONF keystone_authtoken admin_tenant_name $SERVICE_TENANT_NAME iniset $GLANCE_API_CONF keystone_authtoken admin_user glance iniset $GLANCE_API_CONF keystone_authtoken admin_password $SERVICE_PASSWORD + if is_service_enabled qpid; then + iniset $GLANCE_API_CONF DEFAULT notifier_strategy qpid + elif [ -n "$RABBIT_HOST" ] && [ -n "$RABBIT_PASSWORD" ]; then + iniset $GLANCE_API_CONF DEFAULT notifier_strategy rabbit + iniset $GLANCE_API_CONF DEFAULT rabbit_host $RABBIT_HOST + iniset $GLANCE_API_CONF DEFAULT rabbit_password $RABBIT_PASSWORD + fi cp -p $GLANCE_DIR/etc/glance-registry-paste.ini $GLANCE_REGISTRY_PASTE_INI