diff options
Diffstat (limited to 'agents/ocf/remote.in')
-rwxr-xr-x | agents/ocf/remote.in | 106 |
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: |