summaryrefslogtreecommitdiff
path: root/init/suse/waagent
diff options
context:
space:
mode:
Diffstat (limited to 'init/suse/waagent')
-rwxr-xr-xinit/suse/waagent112
1 files changed, 112 insertions, 0 deletions
diff --git a/init/suse/waagent b/init/suse/waagent
new file mode 100755
index 0000000..b77b0fa
--- /dev/null
+++ b/init/suse/waagent
@@ -0,0 +1,112 @@
+#! /bin/sh
+#
+# Microsoft Azure Linux Agent sysV init script
+#
+# Copyright 2013 Microsoft Corporation
+# Copyright SUSE LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# /etc/init.d/waagent
+#
+# and symbolic link
+#
+# /usr/sbin/rcwaagent
+#
+# System startup script for the waagent
+#
+### BEGIN INIT INFO
+# Provides: MicrosoftAzureLinuxAgent
+# Required-Start: $network sshd
+# Required-Stop: $network sshd
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Description: Start the MicrosoftAzureLinuxAgent
+### END INIT INFO
+
+PYTHON=/usr/bin/python
+WAZD_BIN=/usr/sbin/waagent
+WAZD_CONF=/etc/waagent.conf
+WAZD_PIDFILE=/var/run/waagent.pid
+
+test -x "$WAZD_BIN" || { echo "$WAZD_BIN not installed"; exit 5; }
+test -e "$WAZD_CONF" || { echo "$WAZD_CONF not found"; exit 6; }
+
+. /etc/rc.status
+
+# First reset status of this service
+rc_reset
+
+# Return values acc. to LSB for all commands but status:
+# 0 - success
+# 1 - misc error
+# 2 - invalid or excess args
+# 3 - unimplemented feature (e.g. reload)
+# 4 - insufficient privilege
+# 5 - program not installed
+# 6 - program not configured
+#
+# Note that starting an already running service, stopping
+# or restarting a not-running service as well as the restart
+# with force-reload (in case signalling is not supported) are
+# considered a success.
+
+
+case "$1" in
+ start)
+ echo -n "Starting MicrosoftAzureLinuxAgent"
+ ## Start daemon with startproc(8). If this fails
+ ## the echo return value is set appropriate.
+ startproc -f ${PYTHON} ${WAZD_BIN} -start
+ rc_status -v
+ ;;
+ stop)
+ echo -n "Shutting down MicrosoftAzureLinuxAgent"
+ ## Stop daemon with killproc(8) and if this fails
+ ## set echo the echo return value.
+ killproc -p ${WAZD_PIDFILE} ${PYTHON} ${WAZD_BIN}
+ rc_status -v
+ ;;
+ try-restart)
+ ## Stop the service and if this succeeds (i.e. the
+ ## service was running before), start it again.
+ $0 status >/dev/null && $0 restart
+ rc_status
+ ;;
+ restart)
+ ## Stop the service and regardless of whether it was
+ ## running or not, start it again.
+ $0 stop
+ sleep 1
+ $0 start
+ rc_status
+ ;;
+ force-reload|reload)
+ rc_status
+ ;;
+ status)
+ echo -n "Checking for service MicrosoftAzureLinuxAgent "
+ ## Check status with checkproc(8), if process is running
+ ## checkproc will return with exit status 0.
+
+ checkproc -p ${WAZD_PIDFILE} ${PYTHON} ${WAZD_BIN}
+ rc_status -v
+ ;;
+ probe)
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|status|try-restart|restart|force-reload|reload}"
+ exit 1
+ ;;
+esac
+rc_exit