summaryrefslogtreecommitdiffstats
path: root/heartbeat/Evmsd
diff options
context:
space:
mode:
Diffstat (limited to 'heartbeat/Evmsd')
-rwxr-xr-xheartbeat/Evmsd161
1 files changed, 161 insertions, 0 deletions
diff --git a/heartbeat/Evmsd b/heartbeat/Evmsd
new file mode 100755
index 0000000..6e30eae
--- /dev/null
+++ b/heartbeat/Evmsd
@@ -0,0 +1,161 @@
+#!/bin/sh
+#
+# Evmsd OCF RA.
+#
+# Copyright (c) 2004 SUSE LINUX AG, Jo De Baer
+# All Rights Reserved.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of version 2 of the GNU General Public License as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it would be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#
+# Further, this software is distributed without any warranty that it is
+# free of the rightful claim of any third person regarding infringement
+# or the like. Any license provided herein, whether implied or
+# otherwise, applies only to this software file. Patent licenses, if
+# any, provided herein do not apply to combinations of this program with
+# other software, or any other product whatsoever.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston MA 02111-1307, USA.
+#
+
+#######################################################################
+# Initialization:
+
+: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/lib/heartbeat}
+. ${OCF_FUNCTIONS_DIR}/ocf-shellfuncs
+
+# Parameter defaults
+
+OCF_RESKEY_ignore_deprecation_default="false"
+
+: ${OCF_RESKEY_ignore_deprecation=${OCF_RESKEY_ignore_deprecation_default}}
+
+#######################################################################
+
+meta_data() {
+ cat <<END
+<?xml version="1.0"?>
+<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<resource-agent name="Evmsd" version="1.0">
+<version>1.0</version>
+
+<longdesc lang="en">
+Deprecation warning: EVMS is no longer actively maintained and should not be used. This agent is deprecated and may be removed from a future release. --
+This is a Evmsd Resource Agent.
+</longdesc>
+<shortdesc lang="en">Controls clustered EVMS volume management
+(deprecated)</shortdesc>
+
+<parameters>
+<parameter name="ignore_deprecation">
+<longdesc lang="en">
+If set to true, suppresses the deprecation warning for this agent.
+</longdesc>
+<shortdesc lang="en">Suppress deprecation warning</shortdesc>
+<content type="boolean" default="${OCF_RESKEY_ignore_deprecation_default}" />
+</parameter>
+</parameters>
+
+<actions>
+<action name="start" timeout="20s" />
+<action name="stop" timeout="20s" />
+<action name="monitor" timeout="20s" interval="10s" depth="0" />
+<action name="meta-data" timeout="5s" />
+</actions>
+</resource-agent>
+END
+}
+
+#######################################################################
+
+evmsd_usage() {
+ cat <<END
+usage: $0 {start|stop|monitor|meta-data}
+
+Expects to have a fully populated OCF RA-compliant environment set.
+END
+}
+
+evmsd_start() {
+ local PID=`pgrep evmsd`
+ if [ -z $PID ] ; then
+ nohup /sbin/evmsd &
+ # Spin waiting for the server to come up.
+ # Let the CRM/LRM time us out if required
+ start_wait=1
+ while [ $start_wait = 1 ]; do
+ if evmsd_monitor ; then
+ sleep 1
+ return $OCF_SUCCESS
+ else
+ sleep 1
+ fi
+ done
+ else
+ # already running
+ return $OCF_SUCCESS
+ fi
+}
+
+evmsd_stop() {
+ local PID=`pgrep evmsd`
+ if [ -z $PID ] ; then
+ # not running
+ return $OCF_SUCCESS
+ else
+ /bin/kill -15 $PID
+ sleep 1
+ /bin/kill -9 $PID
+ # Spin waiting for the server to go down.
+ # Let the CRM/LRM time us out if required
+ stop_wait=1
+ while [ $stop_wait = 1 ]; do
+ if evmsd_monitor ; then
+ sleep 1
+ else
+ return $OCF_SUCCESS
+ fi
+ done
+ fi
+}
+
+evmsd_monitor() {
+ local PID=`pgrep evmsd`
+ if [ -z $PID ] ; then
+ return $OCF_NOT_RUNNING
+ else
+ return $OCF_SUCCESS
+ fi
+}
+
+if [ "$__OCF_ACTION" = "meta-data" ]; then
+ meta_data
+ exit $OCF_SUCCESS
+fi
+
+# Be obnoxious, log deprecation warning on every invocation (unless
+# suppressed by resource configuration).
+ocf_deprecated
+
+case $__OCF_ACTION in
+start) evmsd_start;;
+stop) evmsd_stop;;
+monitor) evmsd_monitor;;
+usage|help) evmsd_usage
+ exit $OCF_SUCCESS
+ ;;
+*) evmsd_usage
+ exit $OCF_ERR_UNIMPLEMENTED
+ ;;
+esac
+rc=$?
+ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
+exit $rc
+