#!/bin/bash
set -eux
INSTALL_HOME=/opt/collectd-ceilometer
HOST=$1
OS_AUTH_URL=$2
OS_USERNAME=$3
OS_PASSWORD=$4
enable_mcelog=$5
enable_hugepages=$6
enable_ovs_events=$7
CEILOMETER_URL_TYPE=${CEILOMETER_URL_TYPE:-internalURL}
CEILOMETER_TIMEOUT=${CEILOMETER_TIMEOUT:-1000}
MCELOG_SOCKET="socket-path = /var/run/mcelog-client"
MCELOG_CONF="/etc/mcelog/mcelog.conf"
rm -rf $INSTALL_HOME; mkdir -p $INSTALL_HOME
cd $INSTALL_HOME
curl http://$HOST:8080/plugins/fuel-plugin-collectd-ceilometer-1.0/repositories/ubuntu/collectd-ceilometer.tgz | tar xzvf -
apt-get install -y --allow-unauthenticated collectd python-dev libpython2.7 mcelog
cat << EOF > /etc/collectd/collectd.conf.d/collectd-ceilometer-plugin.conf
Globals true
ModulePath "$INSTALL_HOME/collectd-ceilometer-plugin"
LogTraces true
Interactive false
Import "collectd_ceilometer.plugin"
# Verbosity 1|0
#VERBOSE 0
# Batch size
BATCH_SIZE 3
# Service endpoint addresses
OS_AUTH_URL "$OS_AUTH_URL"
# Ceilometer address
#CEILOMETER_ENDPOINT
CEILOMETER_URL_TYPE "$CEILOMETER_URL_TYPE"
# Ceilometer timeout in ms
CEILOMETER_TIMEOUT "$CEILOMETER_TIMEOUT"
# # Ceilometer user creds
OS_USERNAME "$OS_USERNAME"
OS_PASSWORD "$OS_PASSWORD"
OS_TENANT_NAME "services"
EOF
if [ $enable_hugepages = 'true' ]
then
cat << EOF > /etc/collectd/collectd.conf.d/hugepages.conf
LoadPlugin hugepages
ReportPerNodeHP true
ReportRootHP true
ValuesPages true
ValuesBytes false
ValuesPercentage false
EOF
fi
if [ $enable_mcelog = 'true' ]
then
echo $MCELOG_SOCKET | sudo tee -a $MCELOG_CONF;
cat << EOF > /etc/collectd/collectd.conf.d/mcelog.conf
Interval 1
McelogClientSocket "/var/run/mcelog-client"
EOF
fi
if [ $enable_ovs_events = 'true' ]
then
ovs-vsctl set-manager ptcp:6640
cat << EOF > /etc/collectd/collectd.conf.d/ovs.conf
Interval 1
SendNotification true
EOF
fi
service collectd restart