summaryrefslogtreecommitdiff
path: root/devstack
diff options
context:
space:
mode:
authorBoris Pavlovic <boris@pavlovic.me>2016-01-12 13:34:38 -0800
committerBoris Pavlovic <boris@pavlovic.me>2016-01-14 01:41:39 -0800
commita6cb3c08cc002829c51d944ce755ed828da6833a (patch)
treec040e07653425a9652b07ea96e0970ca102bfc2b /devstack
parentd75fa8911586f4769679e36424305f76e58250a1 (diff)
downloadosprofiler-a6cb3c08cc002829c51d944ce755ed828da6833a.tar.gz
Add DevStack plugin
This allows us to automate enabling OSProfiler in OpenStack Just add to DevStack localrc file: enable_plugin ceilometer https://github.com/openstack/ceilometer enable_plugin osprofiler https://github.com/openstack/osprofiler Change-Id: I3607407dd506723c1aad6696ec98eaed8a8ddd9e
Diffstat (limited to 'devstack')
-rw-r--r--devstack/README.rst18
-rw-r--r--devstack/lib/osprofiler82
-rw-r--r--devstack/plugin.sh24
-rw-r--r--devstack/settings3
4 files changed, 127 insertions, 0 deletions
diff --git a/devstack/README.rst b/devstack/README.rst
new file mode 100644
index 0000000..1a35e06
--- /dev/null
+++ b/devstack/README.rst
@@ -0,0 +1,18 @@
+==================================
+Enabling OSprofiler using DevStack
+==================================
+
+This directory contains the files necessary to run OpenStack with enabled
+OSprofiler in DevStack.
+
+To configure DevStack to enable OSprofiler edit
+``${DEVSTACK_DIR}/local.conf`` file and add::
+
+ enable_plugin ceilometer https://github.com/openstack/ceilometer master
+ enable_plugin osprofiler https://github.com/openstack/osprofiler master
+
+to the ``[[local|localrc]]`` section.
+
+Run DevStack as normal::
+
+ $ ./stack.sh
diff --git a/devstack/lib/osprofiler b/devstack/lib/osprofiler
new file mode 100644
index 0000000..850aa53
--- /dev/null
+++ b/devstack/lib/osprofiler
@@ -0,0 +1,82 @@
+# lib/rally
+# Functions to control the configuration and operation of the **Rally**
+
+# Dependencies:
+#
+# - ``functions`` file
+# - ``DEST``, ``DATA_DIR``, ``STACK_USER`` must be defined
+
+# ``stack.sh`` calls the entry points in this order:
+#
+# - install_osprofiler
+# - configure_osprofiler
+# - init_osprofiler
+
+# Save trace setting
+XTRACE=$(set +o | grep xtrace)
+set +o xtrace
+
+
+# Defaults
+# --------
+
+OLD_STYLE_CONF_FILES=(
+ /etc/cinder/cinder.conf
+ /etc/heat/heat.conf
+)
+
+NEW_STYLE_CONF_FILES=(
+ /etc/keystone/keystone.conf
+ /etc/nova/nova.conf
+ /etc/neutron/neutron.conf
+ /etc/glance/glance-api.conf
+ /etc/glance/glance-registry.conf
+ /etc/trove/trove.conf
+ /etc/trove/trove-conductor.conf
+ /etc/trove/trove-guestagent.conf
+ /etc/trove/trove-taskmanager.conf
+)
+
+# This will update CEILOMETER_NOTIFICATION_TOPICS in ceilometer.conf file
+export CEILOMETER_NOTIFICATION_TOPICS=notifications,profiler
+
+
+# Functions
+# ---------
+
+# configure_osprofiler() - Nothing for now
+function configure_osprofiler() {
+
+ for conf in ${OLD_STYLE_CONF_FILES[@]}; do
+ if [ -f $conf ]
+ then
+ iniset $conf profiler profiler_enabled True
+ iniset $conf profiler trace_sqlalchemy True
+ iniset $conf profiler hmac_keys SECRET_KEY
+ fi
+ done
+
+ for conf in ${NEW_STYLE_CONF_FILES[@]}; do
+ if [ -f $conf ]
+ then
+ iniset $conf profiler enabled True
+ iniset $conf profiler trace_sqlalchemy True
+ iniset $conf profiler hmac_keys SECRET_KEY
+ fi
+ done
+}
+
+
+# init_rally() - Initialize databases, etc.
+function init_osprofiler() {
+
+ echo "Do nothing here for now"
+}
+
+# Restore xtrace
+$XTRACE
+
+# Tell emacs to use shell-script-mode
+## Local variables:
+## mode: shell-script
+## End:
diff --git a/devstack/plugin.sh b/devstack/plugin.sh
new file mode 100644
index 0000000..303b605
--- /dev/null
+++ b/devstack/plugin.sh
@@ -0,0 +1,24 @@
+# DevStack extras script to install Rally
+
+# Save trace setting
+XTRACE=$(set +o | grep xtrace)
+set -o xtrace
+
+source $DEST/osprofiler/devstack/lib/osprofiler
+
+if [[ "$1" == "source" ]]; then
+ # Initial source
+ source $TOP_DIR/lib/rally
+# elif [[ "$1" == "stack" && "$2" == "install" ]]; then
+# echo_summary "Installing OSprofiler"
+# install_rally
+elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then
+ echo_summary "Configuring OSprofiler"
+ configure_osprofiler
+elif [[ "$1" == "stack" && "$2" == "extra" ]]; then
+ echo_summary "Initializing OSprofiler"
+ init_osprofiler
+fi
+
+# Restore xtrace
+$XTRACE
diff --git a/devstack/settings b/devstack/settings
new file mode 100644
index 0000000..dc01705
--- /dev/null
+++ b/devstack/settings
@@ -0,0 +1,3 @@
+# Devstack settings
+
+enable_service osprofiler