summaryrefslogtreecommitdiffstats
path: root/devstack/plugin.sh
diff options
context:
space:
mode:
authorYujun Zhang <zhang.yujunz@zte.com.cn>2017-05-24 10:19:48 +0800
committerYujun Zhang <zhang.yujunz@zte.com.cn>2017-05-31 12:44:14 +0800
commitf2c343dae4d3d60111236648ee804d060dc6e0e8 (patch)
tree3d2eba26fc0f3ac30e980876e1625138eef13115 /devstack/plugin.sh
parent7ad77a7c4970056c3be42bc2aec5cb5322154cdb (diff)
Create devstack plugin for osprofiler configuration
Change-Id: Ifd6f90ea1d39d7385f1ab099bc7b0b2ed59efac5 Signed-off-by: Yujun Zhang <zhang.yujunz@zte.com.cn>
Diffstat (limited to 'devstack/plugin.sh')
-rw-r--r--devstack/plugin.sh92
1 files changed, 92 insertions, 0 deletions
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
new file mode 100644
index 00000000..a7f6a63b
--- /dev/null
+++ b/devstack/plugin.sh
@@ -0,0 +1,92 @@
+#!/usr/bin/env bash
+
+##############################################################################
+# Copyright (c) 2017 ZTE Corporation and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+
+# Defaults
+# --------
+
+CONF_FILES=(
+ $CINDER_CONF
+ $HEAT_CONF
+ $KEYSTONE_CONF
+ $NOVA_CONF
+ $NEUTRON_CONF
+ $GLANCE_API_CONF
+ $GLANCE_REGISTRY_CONF
+# Supported by osprofiler but not used in doctor at the moment
+# $TROVE_CONF
+# $TROVE_CONDUCTOR_CONF
+# $TROVE_GUESTAGENT_CONF
+# $TROVE_TASKMANAGER_CONF
+# $SENLIN_CONF
+# $MAGNUM_CONF
+# $ZUN_CONF
+)
+
+function install_doctor {
+ # no-op
+ :
+}
+
+function configure_doctor {
+ for conf in ${CONF_FILES[@]}; do
+ if [ -f $conf ]
+ then
+ iniset $conf profiler enabled true
+ iniset $conf profiler trace_sqlalchemy true
+ iniset $conf profiler hmac_keys $(iniget $conf profiler hmac_keys),${DOCTOR_HMAC_KEYS:=doctor}
+ iniset $conf profiler connection_string ${OSPROFILER_CONNECTION_STRING:=redis://127.0.0.1:6379}
+ fi
+ done
+}
+
+function init_doctor {
+ # no-op
+ :
+}
+
+# check for service enabled
+if is_service_enabled doctor; then
+
+ if [[ "$1" == "stack" && "$2" == "pre-install" ]]; then
+ # Set up system services
+ echo_summary "Configuring system services Doctor"
+ # install_package cowsay
+
+ elif [[ "$1" == "stack" && "$2" == "install" ]]; then
+ # Perform installation of service source
+ echo_summary "Installing Doctor"
+ install_doctor
+
+ elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
+ # Configure after the other layer 1 and 2 services have been configured
+ echo_summary "Configuring Doctor"
+ configure_doctor
+
+ elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
+ # Initialize and start the doctor service
+ echo_summary "Initializing Doctor"
+ init_doctor
+ fi
+
+ if [[ "$1" == "unstack" ]]; then
+ # Shut down doctor services
+ # no-op
+ :
+ fi
+
+ if [[ "$1" == "clean" ]]; then
+ # Remove state and transient data
+ # Remember clean.sh first calls unstack.sh
+ # no-op
+ :
+ fi
+fi
+