blob: 048b50434472ba4d4d9953b9abf8bfc7b990eb1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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:
|