#!/bin/bash -x

MCO_CFG='/etc/mcollective/client.cfg'

cp ${MCO_CFG}{,.ugsave.`date +%Y-%m-%d-%H:%M:%S`} || exit 1

# use the ruby193 SCL-ized mcollective directory
# use direct addressing
# move logfile
# bump loglevel to warn
sed -i '/^libdir/ c\
libdir = /opt/rh/ruby193/root/usr/libexec/mcollective
/^direct_addressing/d
/^logfile/ c\
logfile = /var/log/openshift/broker/mcollective-client.log
/^loglevel/ c\
loglevel = warn
/^collectives/ a\
direct_addressing = 1' ${MCO_CFG} || exit 1

touch /var/log/openshift/broker/mcollective-client.log
chown apache:root /var/log/openshift/broker/mcollective-client.log

# BZ 988478: Convert stomp middleware plugin settings to activemq
sed -i -e "s/^connector\s*=\s*stomp\s*\$/connector = activemq/" ${MCO_CFG} || exit 1

POOL_SIZE=$(grep '^plugin\.stomp\.pool\.size' ${MCO_CFG} | tr -d ' ' | cut -d'=' -f2)
if [ -n "${POOL_SIZE}" ]
then
    # Handle multiple server config (stomp >= 1.1.6)
    sed -i \
        -e "/^plugin\.stomp\.pool\.size\s*=/ c\
plugin.activemq.pool.size = ${POOL_SIZE}" \
        -e "s/plugin\.stomp\.pool\.\([^[:digit:]]\+\)\([[:digit:]]\+\)\s*\=\s*\(.\+\)\$/plugin.activemq.pool.\2.\1 = \3/g" \
        ${MCO_CFG} || exit 1
else
    # Handle single-server config
    sed -i \
        -e "0,/^plugin\.stomp.\+\$/{/^plugin\.stomp.\+\$/i\
plugin.activemq.pool.size = 1
}" \
        -e "s/plugin\.stomp\.\([^[:space:]=]\+\)\s*\=\s*\(.\+\)\$/plugin.activemq.pool.1.\1 = \2/g" \
        ${MCO_CFG} || exit 1
fi

exit 0
