Update refresh monasca transfom script to systemd

devstack switched to systemd to manage processes
see https://review.openstack.org/#/c/448323 and
https://review.openstack.org/#/c/460062.
If USE_SCREEN variable is set to False, use
systemctl to stop and start monasca-transform
process instead.

Change-Id: I32882e55e1ce235f125439de72c5e3416c828eae
This commit is contained in:
Ashwin Agate 2017-05-30 15:59:47 -07:00
parent 0f8f2f795a
commit 1454ade2dc
1 changed files with 47 additions and 19 deletions

View File

@ -23,19 +23,35 @@ fi
SCRIPT_HOME=$(dirname $(readlink -f $BASH_SOURCE))
pushd $SCRIPT_HOME
# stop monasca-transform process running in screen session
STOP_SLEEP=10
if [[ -r /opt/stack/status/stack/monasca-transform.pid ]]; then
echo "going to shutdown $service running in screen session..."
pkill -g $(cat /opt/stack/status/stack/monasca-transform.pid)
if [[ $USE_SCREEN == "True" ]]; then
# stop monasca-transform process running in screen session
if [[ -r /opt/stack/status/stack/monasca-transform.pid ]]; then
echo "going to shutdown monasca-transform running in screen session..."
pkill -g $(cat /opt/stack/status/stack/monasca-transform.pid)
rc=$?
if [[ $rc == 0 ]]; then
echo "waiting $STOP_SLEEP seconds for monasca-transform to exit..."
sleep $STOP_SLEEP
screen -S stack -p monasca-transform -X stuff "\015"
echo "monasca-transform process stopped sucessfully"
else
echo "monasca-transform process could not be stopped, proceeding"
fi
else
echo "monasca-transform process wasnt running in screen session, proceeding"
fi
else
echo "going to shutdown devstack@monasca-transform service..."
sudo systemctl stop devstack@monasca-transform
rc=$?
if [[ $rc == 0 ]]; then
echo "waiting $STOP_SLEEP seconds for monasca-transform to exit..."
echo "waiting $STOP_SLEEP seconds for devstack@monasca-transform service to exit..."
sleep $STOP_SLEEP
screen -S stack -p monasca-transform -X stuff "\015"
echo "monasca-transform process stopped sucessfully"
echo "devstack@monasca-transform stopped successfully"
else
echo "monasca-transform process wasnt running, proceeding"
echo "devstack@monasca-transform service could not be stopped, proceeding"
fi
fi
@ -112,18 +128,30 @@ echo "updating publish_kafka_project_id to $ADMIN_PROJECT_ID in /etc/monasca-tra
sudo sed -i "s/publish_kafka_project_id=d2cb21079930415a9f2a33588b9f2bb6/publish_kafka_project_id=${ADMIN_PROJECT_ID}/g" /etc/monasca-transform.conf
echo "updating publish_kafka_project_id to $ADMIN_PROJECT_ID in /etc/monasca-transform.conf done."
# start monasca-transform in screen session
start_command="/etc/monasca/transform/init/start-monasca-transform.sh"
screen -S stack -p monasca-transform -X stuff "$start_command & echo \$! >/opt/stack/status/stack/monasca-transform.pid; fg || echo \"monasca-transform failed to start\""
screen -S stack -p monasca-transform -X stuff "\015"
rc=$?
if [[ $rc == 0 ]]; then
echo "monasca-transform process started sucessfully"
else
echo "Error: monasca-transfrom process was not started. Please check screen session for error messages"
exit 1
fi
if [[ $USE_SCREEN == "True" ]]; then
# start monasca-transform in screen session
start_command="/etc/monasca/transform/init/start-monasca-transform.sh"
screen -S stack -p monasca-transform -X stuff "$start_command & echo \$! >/opt/stack/status/stack/monasca-transform.pid; fg || echo \"monasca-transform failed to start\""
screen -S stack -p monasca-transform -X stuff "\015"
rc=$?
if [[ $rc == 0 ]]; then
echo "monasca-transform process started sucessfully"
else
echo "Error: monasca-transform process was not started. Please check screen session for error messages"
exit 1
fi
else
echo "going to start devstack@monasca-transform service ..."
sudo systemctl start devstack@monasca-transform
rc=$?
if [[ $rc == 0 ]]; then
echo "devstack@monasca-transform service started sucessfully"
else
echo "Error: devstack@monasca-transform was not started. Please check /var/log/monasca/transform/monasca-transform.log for errors"
exit 1
fi
fi
echo "***********************************************"
echo "* *"
echo "* SUCCESS!! refresh monasca transform done. *"