From ae2c5d9a6ed6afa78da97032031af4aa9c8dd483 Mon Sep 17 00:00:00 2001 From: frank Date: Thu, 22 Sep 2011 17:42:37 -0700 Subject: [PATCH] Bug 11539 - SSVM stop script doesn't work status 11539: resolved fixed reviewed-by: edison Conflicts: console-proxy/scripts/run.sh --- console-proxy/scripts/run.sh | 11 ++++++++--- patches/systemvm/debian/config/etc/init.d/cloud | 7 +++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/console-proxy/scripts/run.sh b/console-proxy/scripts/run.sh index 4c8aef2dba2..48661a7e25c 100755 --- a/console-proxy/scripts/run.sh +++ b/console-proxy/scripts/run.sh @@ -32,9 +32,14 @@ do if [ $ex -eq 0 ] || [ $ex -eq 1 ] || [ $ex -eq 66 ] || [ $ex -gt 128 ]; then # permanent errors sleep 5 - elif [ $ex -eq 143 ]; then - # service cloud stop causes exit with 143 - exit $ex + fi + + # user stop agent by service cloud stop + grep 'stop' /usr/local/cloud/systemvm/user_request &>/dev/null + if [ $? -eq 0 ]; then + timestamp=$(date) + echo "$timestamp User stops cloud.com service" >> /var/log/cloud.log + exit 0 fi sleep 5 done diff --git a/patches/systemvm/debian/config/etc/init.d/cloud b/patches/systemvm/debian/config/etc/init.d/cloud index 8abeb6b1bd5..459d2db7663 100755 --- a/patches/systemvm/debian/config/etc/init.d/cloud +++ b/patches/systemvm/debian/config/etc/init.d/cloud @@ -72,6 +72,11 @@ get_pids() { start() { local pid=$(get_pids) + if [ "$pid" != "" ]; then + echo "cloud.com sevice is already running, PID = $pid" + return 0 + fi + echo -n "Starting cloud.com service (type=$TYPE) " if [ -f $CLOUD_COM_HOME/systemvm/run.sh ]; then @@ -86,6 +91,7 @@ start() { _failure fi echo + echo 'start' > $CLOUD_COM_HOME/systemvm/user_request } stop() { @@ -97,6 +103,7 @@ stop() { done _success echo + echo 'stop' > $CLOUD_COM_HOME/systemvm/user_request } status() {