AUX pacemaker-1.0.10-asneeded.patch 750 SHA256 552e14bc626aafc7f290d5d5e2968679ee8b506bb200ef5f1bdb1dfd17db2b34 SHA512 01df0f4e0b7b429138cb0599242de0bb2c82ceb5f4cb2bf9c3c9952630c3721484fb9fb9367a09fea6d2234e1086b1ebb651bc42f9dbd81e2d17dee881c1e09b WHIRLPOOL 07cae71b91114a5aa7d22f48e41e72e11eb9676389f3df4c9158e878de28ac40665535e2dcc452e284758aac43261c5af4a6c681873bdcd7abc5d87ba18f19c4
AUX pacemaker-1.0.10-installpaths.patch 200 SHA256 4b8d82244123f88491b7deecb99b2d36d6317ada5aa6c6339e95dbcdc73dbbee SHA512 68442af7365c145f28346e5d1b53ba8498b59b619cc6f769f5b407c246cd676821b28b7241777523794251cf1bdd36d57f2ace6d294ad6e33137bc57d71ae492 WHIRLPOOL 4c0e9c7deb9ed9244cb349ea8055328bf6d70b2dbc57b79538176a7fc5aca703ea4709623f137909203f76f376bf734175afbea56ebede7bf01614b6b0c8d4b4
AUX pacemaker-1.1.10-tinfo.patch 767 SHA256 5ed6ba9d70df8c288005cf73d9080cd842998485565ba9aa5b62ba69873c0949 SHA512 2418cb275d69e5a589ed5e7aba707719c23bbdae83f2700b4fdabe9df03bf6f6922ef7db6f09b0c06d6d66e8cd661eed37f9c905a5781f865842517a3bd56358 WHIRLPOOL e7e0291140e302fcbd007befaf7ca87ecc2da437ab79cb5bd8db1feee7c58e76d97cabe2296ee29cdcf1d1c3dff2ac572708afa381727201199958b3a7ffb822
+AUX pacemaker-1.1.12-glib.patch 1634 SHA256 577cad59c99929397b45a9e76fa0b15848259bcab40815f7ffad49218b86fdb9 SHA512 11d95e0b85c61b845d9465d1d5dd6ebf2b33a3cba40a89a085fbe4c16eabbc9262546a62fbcdcaab22071de2bbb3967e041527965b61d8bf9a978904128cba0b WHIRLPOOL ea0a481afce1cc2e82deea45c63f1321315cc56c3898174671ccf45c42823f90a330adcd63868cd372eafe3e1e7434636082a666614e24130c686409d81c7947
+AUX pacemaker-1.1.12-stonith.patch 690 SHA256 85e7ce9239b239236eab0aa7d6ba6d3d50c449a9abf954eb31c1d4b244f84e72 SHA512 168811591d18aea99d260c53d4e8307a8c65e0b756f50cd939d05c37697e1c2d0018d3422065add6d126ca23e4fc2371cf8d9f24e68bac2bab74d438112d80d1 WHIRLPOOL c311318f2d5318b778b44e0373954e20ccf661db53f09a9f253b7089dfece178b8566133d3042e449e0ae2284b07bdc1766317ee555eaca0f331ceb8af33b8ae
AUX pacemaker.initd 981 SHA256 9c081cbbf9e3843d61f8175e430f82414bd21661b6b7fb31f74b9c6c64874204 SHA512 ebf1fa1043dda01e1409960f6a0b13284186644e4ced9e348e61ac137c4d8151aa4bf82740fc553a347d19e547f61f5f08d7bd24ce2247dfeae38e7648945103 WHIRLPOOL edc3634278151e5c88082768b71281cc8cd1dd5b191ac93da219b0024a30e29fad538b904a99805b55d20ebec7212c7d8e4269524a846ece117a8aa442ab7c7e
AUX pacemaker.service 105 SHA256 43034635a3a92ef55bf638ea3e29c2285240228283a70fbd88fe5e28c0d57c8c SHA512 478e1040811f16c0c26fad8feb55cf803e5c4ec4a25e7c82ec771663f25270500fce2dd53622abd7126006c4629bdc3a82fb7f16361eb19543619824a56e848b WHIRLPOOL ec891f83ec9f561060b08bd39e9e0ecf5b243617958bd68f07a2f087a881af85895a4f25f810657ababb6d4541dfcc63e59e195fb6006717dc0cb69a1f869376
+AUX ping 10389 SHA256 021c85d8019b182be7a3603d3363328219ba0b165ea2fe37495dc77d0308f2b4 SHA512 832cd68dab0844b9cee1d1b1453314d42497bc497e97a5cbb78aafbd43b696aa97786b71d1b4d175c1aa8c5f7f240432f1fd4421d16a40ceecdc008d911c0288 WHIRLPOOL 2919972abd1eb4cc78952d39021fcddae07de3f5c193f4872bef07a7745d5d956ba3fff4610f32ef6a107acce6245ad0b8b919585619fe8a03f5436f15b3ce80
DIST Pacemaker-1.0.10.tar.bz2 6642704 SHA256 2d5635866dcf061a617a33bc4ae7957d038dd764ad840489e4f2f6b8d046e6f9 SHA512 ceed7414ce14d136205d35f4e3e11aa0c5b57b3e0069486ea2b9827d3f78f69ff216474348d3360f31ace06d1071f9287ae3300a495391509c2fb43407fc2711 WHIRLPOOL 3ac764ddcf00eebd851fdd69398670bb4cb5c083f89c6e770759463da8b1fb0f0ca03c0bb134386c45703e0db7b50139e466ba71ded72647131abde4301c283f
DIST Pacemaker-1.1.12.tar.gz 10459675 SHA256 f5c72b609fac18d362880d120f08f990e8afd9388e6ff86c55cd93900ba54d9c SHA512 cf88a313f5e91f445a159a5d800d27fd891f63c082c92d3f09bfd2aff856325e8ef6e0ebab8c0b2b9cd6eb15cc593c58c8e23e888e17d5286ebc651dd096f9c1 WHIRLPOOL e737d70288936d2f76d310848940bde78537c32e703c68d8dd37a78e54a66dc9d34cf2fe0037f1621fbc5ba10bb9688490da96394cde65f0668d4b62eccf3f03
DIST pacemaker-1.0.12.tar.gz 7481273 SHA256 a3b4ea4106eda19ff5569bf0631168454b481fbfd23342421010832cce0a504e SHA512 a6944318cfbddaacfd87dda82be9c377af85cb9f92f913d785f5e8a060c23480a972efc0b255af9ad7c1bbd0f7c5ee57f5e7d9797fe3b2549f4c31c7751c1d86 WHIRLPOOL 2f707c4f74c235b358fff50b4e60069b4c16c9fac5114a74ba75d6aca85c67c56b43f49d1496f876b55e652585d4908e060306cb2a3579e2b15b15d0c2b217f5
EBUILD pacemaker-1.0.10.ebuild 1821 SHA256 41dddec72a5191be4e23813b97c86d1e89e0f99f846fd16c60772305453cae44 SHA512 c1027dc88f9ae5f28d6345708f6acbf23d4f743ed1e3e06bbc98ebae9acf0fcdc6181daa9f17a4fe9a8f3fef980d7c00d2897bc7e15f12c6f03a148d06dbc913 WHIRLPOOL b9ddd7393ca68564a06e9c3ce5ba46774e645a623d1607b5939c6eb86e2faa82ae0a7023aca27b73f3136156cb60d0da65a63523fdb28afdf7843d8fe727f7f4
EBUILD pacemaker-1.0.12.ebuild 1791 SHA256 0b5b4b664f6719abbaca3175015d4fc344424360e7651fe4815029f96e302a9c SHA512 c467e326f50922a3c84139c40a567596ec8d81a1c312972a4069c5d6bdd9c5545c55ad48466c139b7352f456d3633fa77bec886202173d1e147cc400646dcb55 WHIRLPOOL 9672495439b1fd1b2f814e8a12bcf71e53edea992399fc7b6416cee195540647a4f6aca243757dac3744673cade98a150f5b0891c91393141ab3eefdfc40dce0
-EBUILD pacemaker-1.1.12-r1.ebuild 2324 SHA256 bd159e799be7355688f80ddb60863df5e62b28bb9f1f6e4414cac80a7e8718ad SHA512 b70e3784c1543e2ea6a410a1a6290482d3067db013ebfd90568ad68e49298a94c81d339308256d630807f9eb0ee363f7804b1b51a0fc77c06f6e63286d4c08a2 WHIRLPOOL 7562b0374e2c70ff37cd35defa99a387a0a644f3ceeb7d8b11430fa185dc03acbd1a006cabd6a84c076f06d2e8b0bc08824149e50abc291fbe3b8972c6860a27
-MISC ChangeLog 7275 SHA256 f902ef91748fa49caa9bd9187c208dff53a4ad2fb5ba4e4bf543c659a0506cea SHA512 8cdbadcfb4f95d0183d2c8a92e48c892b919957d6fe4bf4287c821967ad40035ed3b9c856a7d236fde8e70036500d5378eb5258f306d44c8e27270cca6dc769d WHIRLPOOL 056c85d5d80c3c6107b4029228142ff79c97dda289fe0e4bd2771fa1c518b0ae299fe2a989e9c832098f53ad6191bc0f4ed843b932a6b4e5441450e09d1a88eb
+EBUILD pacemaker-1.1.12-r2.ebuild 2485 SHA256 a2dc99c8b69e555d70349a7a7c8cd3e2794dbde16659107b80463e04dc5c8a74 SHA512 48307387b093e11a4c153af4ee70c25cff08dff19426969b72b13f330df737a7e29d7e04829460b9317dbade235eb982080ea6619e4e8141129819e676f9c73f WHIRLPOOL 7cf7c91bec762abde86683b14c2847958c322271e1812a976464d84b608c8b6cffe2fb6416897fa0b6493d69a3d1f2bb2731a4a93a34df07d0ca73bbf66452ba
+MISC ChangeLog 7544 SHA256 a4c6a343ab7e9f2cf8563833649abbd4c274eca753500825efaa81353320f5e0 SHA512 141a541bcb8b5d83457b851eb7747925821723ea9b717036c20fddc2372473c1c61957bfe84e63ae32281640235ccfd68d6ba4d5616c56e8071fe1e39a374daa WHIRLPOOL f74827bfa7b6befac3c1db1c06c7f7d4039d95368398c8ea906198920a258431dc27b90b637ade4dd83a1ceac759b1ad6427f1e5435c642133108dff96321310
MISC metadata.xml 870 SHA256 ca8b9f3af29de78a1e6196cd392c6c85635f8f7fb2303befc762bd135439fd3b SHA512 57a334af692d25bd670f652d03aec50db6b19676910f8f988fff1f3e84af5d6c379204ee277eafcc8f570ad15445ce6364c9643f2d58540f9ee98b12ce9524c8 WHIRLPOOL 2e278c69b2f24eb38b876f832292bedcf2729252e36584c42a8438a965661bc63d87affe3e5e3e09b53b75a7e2f88e31f92edd857b1ff5ea897f47b286567c2a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
-iQJ8BAEBCABmBQJUpdHWXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
-ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC
-MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOGJUP/R6R0qdoGoBCedL9vHaWFWws
-6P5qorN+2hu+vOYbDUKq8vcn0CRZlDWkbBArVLm5wlLPu5inDoU7M1VHnZhEctm9
-83XuDGf3k5fiGCHx+uugrpnpkDG53R7fT+48EdBtPjBE1Rg0UzV3EbN6lkUghVKS
-G51mO41Zw+7HrFtokRaHzCuA4tzpXm5aMLf9pbCcsmdHgYx6Frarp/SJqtYAb/IW
-+7tKejg0Zt8LbTMQUzFjxGVAmrxLT9ZsbS1Lvhdwm8oRxfHjkujmpMXxLnP84zG8
-UQPhAnpGkeNXX+PA0vFrV7H1YxVz+29TyWtsR34BXYcVUm7yL6I3+iLnbLRF1nER
-GH2qWesozs9HPzvGA2RIMZXd95sQ1cCbjWeyx6LUJKdm+So3SZuvPoRgHTtNGl25
-am7wKqh0ibrsu2JJHgrxOl8N6mM3YDcyGXrWmTv81OxZalo4EfsMwCIpFj2QbX7c
-ea8IW4FtYpIimbEI7M2XiCKc/ldK161aGXHPk2zleXZnvnptaO9mOI8Cnmr46VGM
-IGym2c1L85PvzbPF73M+qQLp9+QYdnOZY/abUaChCDX/NYgrL8Rs4T7XccuFmpwf
-1ShEspW2hl+su4v0HPjiarrSjIUZRTOI2fbShbNWTezdzaBsBzTQ5JlTjS2Gf+sI
-hWlgzD9PyIj+JgfwiVxx
-=lP+W
+iF4EAREIAAYFAlUP9VUACgkQKiQSS7ZY+hN1NgEAw8UQfx7FbGcqvXmKW94cQ3s+
+Ht2yZFuu874OVdQfP18A/0ue6qcPLota/YKAvMiUEWn+3D92hv3jM5GDSZmuMBXR
+=egVR
-----END PGP SIGNATURE-----
--- /dev/null
+From 568e41db929a34106c8c2ff7c48716ab5c13ef49 Mon Sep 17 00:00:00 2001
+From: Andrew Beekhof <andrew@beekhof.net>
+Date: Mon, 13 Oct 2014 13:30:58 +1100
+Subject: [PATCH] Fix: lrmd: Prevent glib assert triggered by timers being
+ removed from mainloop more than once
+
+---
+ lib/services/services.c | 3 +++
+ lib/services/services_linux.c | 1 +
+ 2 files changed, 4 insertions(+)
+
+--- a/lib/services/services.c
++++ b/lib/services/services.c
+@@ -313,6 +313,7 @@ services_action_free(svc_action_t * op)
+
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ if (op->opaque->stderr_gsource) {
+ mainloop_del_fd(op->opaque->stderr_gsource);
+@@ -425,6 +426,7 @@ services_action_kick(const char *name, c
+ } else {
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ recurring_action_timer(op);
+ return TRUE;
+@@ -459,6 +461,7 @@ handle_duplicate_recurring(svc_action_t
+ if (dup->pid != 0) {
+ if (op->opaque->repeat_timer) {
+ g_source_remove(op->opaque->repeat_timer);
++ op->opaque->repeat_timer = 0;
+ }
+ recurring_action_timer(dup);
+ }
+--- a/lib/services/services_linux.c
++++ b/lib/services/services_linux.c
+@@ -226,6 +226,7 @@ recurring_action_timer(gpointer data)
+ op->stdout_data = NULL;
+ free(op->stderr_data);
+ op->stderr_data = NULL;
++ op->opaque->repeat_timer = 0;
+
+ services_action_async(op, NULL);
+ return FALSE;
--- /dev/null
+#!/bin/sh
+#
+#
+# Ping OCF RA that utilizes the system ping
+#
+# Copyright (c) 2009 Andrew Beekhof
+# 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=${OCF_ROOT}/resource.d/heartbeat/.ocf-shellfuncs}
+. ${OCF_FUNCTIONS}
+: ${__OCF_ACTION=$1}
+
+#######################################################################
+
+meta_data() {
+ cat <<END
+<?xml version="1.0"?>
+<!DOCTYPE resource-agent SYSTEM "ra-api-1.dtd">
+<resource-agent name="ping">
+<version>1.0</version>
+
+<longdesc lang="en">
+Every time the monitor action is run, this resource agent records (in the CIB) the current number of ping nodes the host can connect to.
+It is essentially the same as pingd except that it uses the system ping tool to obtain the results.
+</longdesc>
+<shortdesc lang="en">node connectivity</shortdesc>
+
+<parameters>
+
+<parameter name="pidfile" unique="0">
+<longdesc lang="en">PID file</longdesc>
+<shortdesc lang="en">PID file</shortdesc>
+<content type="string" default="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}" />
+</parameter>
+
+<parameter name="dampen" unique="0">
+<longdesc lang="en">
+The time to wait (dampening) further changes occur
+</longdesc>
+<shortdesc lang="en">Dampening interval</shortdesc>
+<content type="integer" default="5s"/>
+</parameter>
+
+<parameter name="name" unique="0">
+<longdesc lang="en">
+The name of the attributes to set. This is the name to be used in the constraints.
+</longdesc>
+<shortdesc lang="en">Attribute name</shortdesc>
+<content type="string" default="pingd"/>
+</parameter>
+
+<parameter name="multiplier" unique="0">
+<longdesc lang="en">
+The number by which to multiply the number of connected ping nodes by
+</longdesc>
+<shortdesc lang="en">Value multiplier</shortdesc>
+<content type="integer" default=""/>
+</parameter>
+
+<parameter name="host_list" unique="0" required="1">
+<longdesc lang="en">
+The list of ping nodes to count.
+</longdesc>
+<shortdesc lang="en">Host list</shortdesc>
+<content type="string" default=""/>
+</parameter>
+
+<parameter name="attempts" unique="0">
+<longdesc lang="en">
+Number of ping attempts, per host, before declaring it dead
+</longdesc>
+<shortdesc lang="en">no. of ping attempts</shortdesc>
+<content type="integer" default="2"/>
+</parameter>
+
+<parameter name="timeout" unique="0">
+<longdesc lang="en">
+How long, in seconds, to wait before declaring a ping lost
+</longdesc>
+<shortdesc lang="en">ping timeout in seconds</shortdesc>
+<content type="integer" default="2"/>
+</parameter>
+
+<parameter name="options" unique="0">
+<longdesc lang="en">
+A catch all for any other options that need to be passed to ping.
+</longdesc>
+<shortdesc lang="en">Extra Options</shortdesc>
+<content type="string" default=""/>
+</parameter>
+
+<parameter name="failure_score" unique="0">
+<longdesc lang="en">
+Resource is failed if the score is less than failure_score.
+Default never fails.
+</longdesc>
+<shortdesc lang="en">failure_score</shortdesc>
+<content type="integer" default=""/>
+</parameter>
+
+<parameter name="debug" unique="0">
+<longdesc lang="en">
+Enables to use default attrd_updater verbose logging on every call.
+</longdesc>
+<shortdesc lang="en">Verbose logging</shortdesc>
+<content type="string" default="false"/>
+</parameter>
+
+</parameters>
+
+<actions>
+<action name="start" timeout="60" />
+<action name="stop" timeout="20" />
+<action name="reload" timeout="100" />
+<action name="monitor" depth="0" timeout="60" interval="10"/>
+<action name="meta-data" timeout="5" />
+<action name="validate-all" timeout="30" />
+</actions>
+</resource-agent>
+END
+}
+
+#######################################################################
+
+ping_conditional_log() {
+ level=$1; shift
+ if [ ${OCF_RESKEY_debug} = "true" ]; then
+ ocf_log $level "$*"
+ fi
+}
+
+ping_usage() {
+ cat <<END
+usage: $0 {start|stop|monitor|migrate_to|migrate_from|validate-all|meta-data}
+
+Expects to have a fully populated OCF RA-compliant environment set.
+END
+}
+
+ping_start() {
+ ping_monitor
+ if [ $? = $OCF_SUCCESS ]; then
+ return $OCF_SUCCESS
+ fi
+ touch ${OCF_RESKEY_pidfile}
+ ping_update
+}
+
+ping_stop() {
+
+ rm -f ${OCF_RESKEY_pidfile}
+
+ attrd_updater -D -n $OCF_RESKEY_name -d $OCF_RESKEY_dampen $attrd_options
+
+ return $OCF_SUCCESS
+}
+
+ping_monitor() {
+ if [ -f ${OCF_RESKEY_pidfile} ]; then
+ ping_update
+ if [ $? -eq 0 ]; then
+ return $OCF_SUCCESS
+ fi
+ return $OCF_ERR_GENERIC
+ fi
+ return $OCF_NOT_RUNNING
+}
+
+ping_validate() {
+ # Is the state directory writable?
+ state_dir=`dirname "$OCF_RESKEY_pidfile"`
+ touch "$state_dir/$$"
+ if [ $? != 0 ]; then
+ ocf_log err "Invalid location for 'state': $state_dir is not writable"
+ return $OCF_ERR_ARGS
+ fi
+ rm "$state_dir/$$"
+
+# Pidfile better be an absolute path
+ case $OCF_RESKEY_pidfile in
+ /*) ;;
+ *) ocf_log warn "You should use an absolute path for pidfile not: $OCF_RESKEY_pidfile" ;;
+ esac
+
+# Check the host list
+ if [ "x" = "x$OCF_RESKEY_host_list" ]; then
+ ocf_log err "Empty host_list. Please specify some nodes to ping"
+ exit $OCF_ERR_CONFIGURED
+ fi
+
+ check_binary ping
+
+ return $OCF_SUCCESS
+}
+
+
+fping_check() {
+ active=0
+ f_out=`mktemp`
+ f_err=`mktemp`
+
+ n=$OCF_RESKEY_attempts
+ timeout=`expr $OCF_RESKEY_timeout \* 1000 / $OCF_RESKEY_attempts`
+
+ cmd="fping -r $OCF_RESKEY_attempts -t $timeout -B 1.0 $OCF_RESKEY_host_list"
+ $cmd>$f_out 2>$f_err; rc=$?
+ active=`grep alive $f_out|wc -l`
+
+ case $rc in
+ 0)
+ ;;
+ 1)
+ for h in `grep unreachable $f_out | awk '{print $1}'`; do
+ ping_conditional_log warn "$h is inactive"
+ done
+ ;;
+ *)
+ ocf_log err "Unexpected result for '$cmd' $rc: `tr '\n' ';' < $f_err`"
+ ;;
+ esac
+ rm -f $f_out $f_err
+
+ return $active
+}
+
+ping_check() {
+ active=0
+ for host in $OCF_RESKEY_host_list; do
+ p_exe=ping
+
+ case `uname` in
+ Linux) p_args="-n -q -W $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts";;
+ Darwin) p_args="-n -q -t $OCF_RESKEY_timeout -c $OCF_RESKEY_attempts -o";;
+ *) ocf_log err "Unknown host type: `uname`"; exit $OCF_ERR_INSTALLED;;
+ esac
+
+ case $host in
+ *:*) p_exe=ping6
+ esac
+
+ p_out=`$p_exe $p_args $OCF_RESKEY_options $host 2>&1`; rc=$?
+
+ case $rc in
+ 0) active=`expr $active + 1`;;
+ 1) ping_conditional_log warn "$host is inactive: $p_out";;
+ *) ocf_log err "Unexpected result for '$p_exe $p_args $OCF_RESKEY_options $host' $rc: $p_out";;
+ esac
+ done
+ return $active
+}
+
+ping_update() {
+
+ if have_binary fping; then
+ fping_check
+ active=$?
+ else
+ ping_check
+ active=$?
+ fi
+
+ score=`expr $active \* $OCF_RESKEY_multiplier`
+ attrd_updater -n $OCF_RESKEY_name -v $score -d $OCF_RESKEY_dampen $attrd_options
+ rc=$?
+ case $rc in
+ 0) ping_conditional_log debug "Updated $OCF_RESKEY_name = $score" ;;
+ *) ocf_log warn "Could not update $OCF_RESKEY_name = $score: rc=$rc";;
+ esac
+ if [ $rc -ne 0 ]; then
+ return $rc
+ fi
+
+ if [ -n "$OCF_RESKEY_failure_score" -a "$score" -lt "$OCF_RESKEY_failure_score" ]; then
+ ocf_log warn "$OCF_RESKEY_name is less than failure_score($OCF_RESKEY_failure_score)"
+ return 1
+ fi
+ return 0
+}
+
+: ${OCF_RESKEY_name:="pingd"}
+: ${OCF_RESKEY_dampen:="5s"}
+: ${OCF_RESKEY_attempts:="3"}
+: ${OCF_RESKEY_multiplier:="1"}
+: ${OCF_RESKEY_debug:="false"}
+: ${OCF_RESKEY_failure_score:="0"}
+
+: ${OCF_RESKEY_CRM_meta_timeout:="20000"}
+: ${OCF_RESKEY_CRM_meta_globally_unique:="true"}
+
+integer=`echo ${OCF_RESKEY_timeout} | egrep -o '[0-9]*'`
+case ${OCF_RESKEY_timeout} in
+ *[0-9]ms|*[0-9]msec) OCF_RESKEY_timeout=`expr $integer / 1000`;;
+ *[0-9]m|*[0-9]min) OCF_RESKEY_timeout=`expr $integer \* 60`;;
+ *[0-9]h|*[0-9]hr) OCF_RESKEY_timeout=`expr $integer \* 60 \* 60`;;
+ *) OCF_RESKEY_timeout=$integer;;
+esac
+
+if [ -z ${OCF_RESKEY_timeout} ]; then
+ if [ x"$OCF_RESKEY_host_list" != x ]; then
+ host_count=`echo $OCF_RESKEY_host_list | awk '{print NF}'`
+ OCF_RESKEY_timeout=`expr $OCF_RESKEY_CRM_meta_timeout / $host_count / $OCF_RESKEY_attempts`
+ OCF_RESKEY_timeout=`expr $OCF_RESKEY_timeout / 1100` # Convert to seconds and finish 10% early
+ else
+ OCF_RESKEY_timeout=5
+ fi
+fi
+
+if [ ${OCF_RESKEY_timeout} -lt 1 ]; then
+ OCF_RESKEY_timeout=5
+elif [ ${OCF_RESKEY_timeout} -gt 1000 ]; then
+ # ping actually complains if this value is too high, 5 minutes is plenty
+ OCF_RESKEY_timeout=300
+fi
+
+if [ ${OCF_RESKEY_CRM_meta_globally_unique} = "false" ]; then
+ : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESKEY_name}"}
+else
+ : ${OCF_RESKEY_pidfile:="$HA_VARRUN/ping-${OCF_RESOURCE_INSTANCE}"}
+fi
+
+case $__OCF_ACTION in
+ meta-data)
+ meta_data
+ exit $OCF_SUCCESS
+ ;;
+ usage|help)
+ ping_usage
+ exit $OCF_SUCCESS
+ ;;
+esac
+
+attrd_options='-q'
+if ocf_is_true ${OCF_RESKEY_debug} ; then
+ attrd_options=''
+fi
+
+# Check the debug option
+ case "${OCF_RESKEY_debug}" in
+ true|True|TRUE|1) OCF_RESKEY_debug=true;;
+ false|False|FALSE|0) OCF_RESKEY_debug=false;;
+ *)
+ ocf_log warn "Value for 'debug' is incorrect. Please specify 'true' or 'false' not: ${OCF_RESKEY_debug}"
+ OCF_RESKEY_debug=false
+ ;;
+ esac
+
+case $__OCF_ACTION in
+start) ping_start;;
+stop) ping_stop;;
+monitor) ping_monitor;;
+reload) ping_start;;
+validate-all) ping_validate;;
+*) ping_usage
+ exit $OCF_ERR_UNIMPLEMENTED
+ ;;
+esac
+exit $?