
in master branch keystone v2.0 api is no longer supported, this patch is introducing v3 api support. Change-Id: I5ed5f65f34033b6a4c550704bb186dfa8d0fc82c Closes-Bug: #1614892
101 lines
2.3 KiB
Bash
101 lines
2.3 KiB
Bash
#!/bin/bash
|
|
#
|
|
# common functions for collectd ceilometer plugin
|
|
# -----------------------------------------------
|
|
|
|
# start/stop service
|
|
#
|
|
function start_collectd {
|
|
if [ -e /usr/lib/systemd/system/collectd.service ] || [ -e /etc/init.d/collectd ]; then
|
|
sudo service collectd restart
|
|
fi
|
|
}
|
|
|
|
function stop_collectd {
|
|
if [ -e /usr/lib/systemd/system/collectd.service ] || [ -e /etc/init.d/collectd ]; then
|
|
sudo service collectd stop
|
|
fi
|
|
}
|
|
|
|
# install collectd service
|
|
function install_collectd {
|
|
if [[ "$COLLECTD_INSTALL" == True ]]; then
|
|
if is_fedora || is_ubuntu; then
|
|
install_package collectd
|
|
else
|
|
die $LINENO "No support for collectd on this platform"
|
|
fi
|
|
fi
|
|
}
|
|
|
|
# Add conf file for plugin
|
|
function adapt_collectd_conf {
|
|
if [ ! -d "$COLLECTD_CONF_DIR" ]; then
|
|
sudo mkdir "$COLLECTD_CONF_DIR"
|
|
fi
|
|
|
|
cat << EOF | sudo tee $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
<LoadPlugin python>
|
|
Globals true
|
|
</LoadPlugin>
|
|
|
|
<Plugin python>
|
|
ModulePath "$COLLECTD_CEILOMETER_DIR"
|
|
LogTraces true
|
|
Interactive false
|
|
Import "collectd_ceilometer.plugin"
|
|
|
|
<Module "collectd_ceilometer.plugin">
|
|
|
|
# Verbosity True|False
|
|
VERBOSE $COLLECTD_CEILOMETER_VERBOSE
|
|
|
|
# Batch size
|
|
BATCH_SIZE "$COLLECTD_BATCH_SIZE"
|
|
|
|
# Service endpoint addresses
|
|
OS_AUTH_URL "$OS_AUTH_URL"
|
|
OS_IDENTITY_API_VERSION "$OS_IDENTITY_API_VERSION"
|
|
|
|
# Ceilometer address
|
|
#CEILOMETER_ENDPOINT
|
|
CEILOMETER_URL_TYPE "$CEILOMETER_URL_TYPE"
|
|
|
|
# Ceilometer timeout in ms
|
|
CEILOMETER_TIMEOUT "$CEILOMETER_TIMEOUT"
|
|
|
|
# # Ceilometer user creds
|
|
OS_USERNAME "ceilometer"
|
|
OS_PASSWORD "$SERVICE_PASSWORD"
|
|
OS_TENANT_NAME "$SERVICE_TENANT_NAME"
|
|
|
|
</Module>
|
|
</Plugin>
|
|
EOF
|
|
|
|
# Configure collectd logfile plugin
|
|
if [ -n $COLLECTD_LOG_FILE ]; then
|
|
touch $COLLECTD_LOG_FILE
|
|
cat << EOF | sudo tee "$COLLECTD_CONF_DIR/logfile.conf"
|
|
LoadPlugin "logfile"
|
|
<Plugin "logfile">
|
|
LogLevel "$COLLECTD_LOG_LEVEL"
|
|
File "$COLLECTD_LOG_FILE"
|
|
Timestamp true
|
|
</Plugin>
|
|
EOF
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
# remove plugin conf file
|
|
function restore_collectd_conf {
|
|
|
|
if [ -f '$COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf' ]; then
|
|
sudo rm -f $COLLECTD_CONF_DIR/collectd-ceilometer-plugin.conf
|
|
sudo rm -f $COLLECTD_CONF_DIR/logfile.conf
|
|
fi
|
|
|
|
}
|