summaryrefslogtreecommitdiffstats
path: root/agents/ocf/remote.in
diff options
context:
space:
mode:
Diffstat (limited to 'agents/ocf/remote.in')
-rwxr-xr-xagents/ocf/remote.in106
1 files changed, 106 insertions, 0 deletions
diff --git a/agents/ocf/remote.in b/agents/ocf/remote.in
new file mode 100755
index 0000000..048b504
--- /dev/null
+++ b/agents/ocf/remote.in
@@ -0,0 +1,106 @@
+#!/bin/sh
+#
+# ocf:pacemaker:remote OCF resource agent
+#
+# Copyright 2013-2023 the Pacemaker project contributors
+#
+# The version control history for this file may have further details.
+#
+# This source code is licensed under the GNU General Public License version 2
+# (GPLv2) WITHOUT ANY WARRANTY.
+#
+
+# This script provides metadata for Pacemaker's internal remote agent.
+# Outside of acting as a placeholder so the agent can be indexed, and
+# providing metadata, this script should never be invoked. The actual
+# functionality behind the remote connection lives within Pacemaker's
+# controller daemon.
+#
+
+: ${OCF_FUNCTIONS:="${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs"}
+. "${OCF_FUNCTIONS}"
+: ${__OCF_ACTION:="$1"}
+
+meta_data() {
+ cat <<END
+<?xml version="1.0"?>
+<resource-agent name="remote" version="@VERSION@">
+ <version>1.1</version>
+ <shortdesc lang="en">Pacemaker Remote connection</shortdesc>
+ <parameters>
+ <parameter name="server" unique-group="address">
+ <longdesc lang="en">
+ Server location to connect to (IP address or resolvable host name)
+ </longdesc>
+ <shortdesc lang="en">Remote hostname</shortdesc>
+ <content type="string"/>
+ </parameter>
+ <parameter name="port" unique-group="address">
+ <longdesc lang="en">
+ TCP port at which to contact Pacemaker Remote executor
+ </longdesc>
+ <shortdesc lang="en">Remote port</shortdesc>
+ <content type="integer" default="3121"/>
+ </parameter>
+ <parameter name="reconnect_interval" reloadable="1">
+ <longdesc lang="en">
+ If this is a positive time interval, the cluster will attempt to
+ reconnect to a remote node after an active connection has been
+ lost at this interval. Otherwise, the cluster will attempt to
+ reconnect immediately (after any fencing needed).
+ </longdesc>
+ <shortdesc lang="en">reconnect interval</shortdesc>
+ <content type="string" default="0"/>
+ </parameter>
+ </parameters>
+ <actions>
+ <action name="start" timeout="60s" />
+ <action name="stop" timeout="60s" />
+ <action name="monitor" timeout="30s" />
+ <action name="migrate_to" timeout="60s" />
+ <action name="migrate_from" timeout="60s" />
+ <action name="reload" timeout="60s" />
+ <action name="reload-agent" timeout="60s" />
+ <action name="meta-data" timeout="5s" />
+ </actions>
+</resource-agent>
+END
+ return $OCF_SUCCESS
+}
+
+remote_usage() {
+ EXITSTATUS="$1"
+
+ cat <<END
+Usage: $0 <action>
+
+This conforms to the OCF Resource Agent API version 1.1, and expects
+to have OCF-compliant environment variables provided.
+END
+ return $EXITSTATUS
+}
+
+remote_unsupported() {
+ ocf_log info "The ocf:pacemaker:remote agent should not be directly invoked except for meta-data action"
+ return $OCF_ERR_GENERIC
+}
+
+case $__OCF_ACTION in
+ meta-data) meta_data ;;
+ start) remote_unsupported ;;
+ stop) remote_unsupported ;;
+ monitor) remote_unsupported ;;
+ migrate_to) remote_unsupported ;;
+ migrate_from) remote_unsupported ;;
+ reload) remote_unsupported ;;
+ reload-agent) remote_unsupported ;;
+ validate-all) remote_unsupported ;;
+ usage|help) remote_usage $OCF_SUCCESS ;;
+ *) remote_usage $OCF_ERR_UNIMPLEMENTED ;;
+esac
+
+rc=$?
+ocf_log debug "${OCF_RESOURCE_INSTANCE} $__OCF_ACTION : $rc"
+exit $rc
+
+# vim: set filetype=sh expandtab tabstop=4 softtabstop=4 shiftwidth=4 textwidth=80: