From 997b63b346982d9f0b4c109c36ad28bfea04264f Mon Sep 17 00:00:00 2001 From: Alexys Jacob Date: Mon, 23 Mar 2015 11:13:30 +0000 Subject: [PATCH] fix #490908 #539608 wrt #457572 Package-Manager: portage-2.2.18/cvs/Linux x86_64 Manifest-Sign-Key: 0xB658FA13 --- sys-cluster/pacemaker/ChangeLog | 9 +- sys-cluster/pacemaker/Manifest | 25 +- .../files/pacemaker-1.1.12-glib.patch | 47 +++ .../files/pacemaker-1.1.12-stonith.patch | 21 + sys-cluster/pacemaker/files/ping | 380 ++++++++++++++++++ ...2-r1.ebuild => pacemaker-1.1.12-r2.ebuild} | 11 +- 6 files changed, 473 insertions(+), 20 deletions(-) create mode 100644 sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch create mode 100644 sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch create mode 100644 sys-cluster/pacemaker/files/ping rename sys-cluster/pacemaker/{pacemaker-1.1.12-r1.ebuild => pacemaker-1.1.12-r2.ebuild} (89%) diff --git a/sys-cluster/pacemaker/ChangeLog b/sys-cluster/pacemaker/ChangeLog index f76167eeb21f..0b730b4ce638 100644 --- a/sys-cluster/pacemaker/ChangeLog +++ b/sys-cluster/pacemaker/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-cluster/pacemaker # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/ChangeLog,v 1.37 2015/01/01 23:01:41 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/ChangeLog,v 1.38 2015/03/23 11:13:20 ultrabug Exp $ + +*pacemaker-1.1.12-r2 (23 Mar 2015) + + 23 Mar 2015; Ultrabug -pacemaker-1.1.12-r1.ebuild, + +pacemaker-1.1.12-r2.ebuild, +files/pacemaker-1.1.12-glib.patch, + +files/pacemaker-1.1.12-stonith.patch, +files/ping: + fix #490908 #539608 wrt #457572 *pacemaker-1.1.12-r1 (01 Jan 2015) diff --git a/sys-cluster/pacemaker/Manifest b/sys-cluster/pacemaker/Manifest index 863e72c9c170..5a0bcba28080 100644 --- a/sys-cluster/pacemaker/Manifest +++ b/sys-cluster/pacemaker/Manifest @@ -7,32 +7,23 @@ AUX 1.1.8-backwards_compatibility.patch 1574 SHA256 e76dc96b2bcec2c7ea52be3a69b3 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----- diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch new file mode 100644 index 000000000000..8233f98a17e8 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-glib.patch @@ -0,0 +1,47 @@ +From 568e41db929a34106c8c2ff7c48716ab5c13ef49 Mon Sep 17 00:00:00 2001 +From: Andrew Beekhof +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; diff --git a/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch new file mode 100644 index 000000000000..31c729559f35 --- /dev/null +++ b/sys-cluster/pacemaker/files/pacemaker-1.1.12-stonith.patch @@ -0,0 +1,21 @@ +Description: Fix: stonith-ng: Reset mainloop source IDs after removing them + +Origin: upstream, commit: 0326f05c9e26f39a394fa30830e31a76306f49c7 +Author: Andrew Beekhof +Bug-Ubuntu: https://bugs.launchpad.net/bugs/1412962 +Last-Update: 2015-01-20 + +--- a/lib/fencing/st_client.c ++++ b/lib/fencing/st_client.c +@@ -663,9 +663,11 @@ stonith_action_async_done(mainloop_child + + if (action->timer_sigterm > 0) { + g_source_remove(action->timer_sigterm); ++ action->timer_sigterm = 0; + } + if (action->timer_sigkill > 0) { + g_source_remove(action->timer_sigkill); ++ action->timer_sigkill = 0; + } + + if (action->last_timeout_signo) { diff --git a/sys-cluster/pacemaker/files/ping b/sys-cluster/pacemaker/files/ping new file mode 100644 index 000000000000..52c4c3d4cad8 --- /dev/null +++ b/sys-cluster/pacemaker/files/ping @@ -0,0 +1,380 @@ +#!/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 < + + +1.0 + + +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. + +node connectivity + + + + +PID file +PID file + + + + + +The time to wait (dampening) further changes occur + +Dampening interval + + + + + +The name of the attributes to set. This is the name to be used in the constraints. + +Attribute name + + + + + +The number by which to multiply the number of connected ping nodes by + +Value multiplier + + + + + +The list of ping nodes to count. + +Host list + + + + + +Number of ping attempts, per host, before declaring it dead + +no. of ping attempts + + + + + +How long, in seconds, to wait before declaring a ping lost + +ping timeout in seconds + + + + + +A catch all for any other options that need to be passed to ping. + +Extra Options + + + + + +Resource is failed if the score is less than failure_score. +Default never fails. + +failure_score + + + + + +Enables to use default attrd_updater verbose logging on every call. + +Verbose logging + + + + + + + + + + + + + + +END +} + +####################################################################### + +ping_conditional_log() { + level=$1; shift + if [ ${OCF_RESKEY_debug} = "true" ]; then + ocf_log $level "$*" + fi +} + +ping_usage() { + cat <$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 $? diff --git a/sys-cluster/pacemaker/pacemaker-1.1.12-r1.ebuild b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild similarity index 89% rename from sys-cluster/pacemaker/pacemaker-1.1.12-r1.ebuild rename to sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild index c7030410e23b..79f6a9942a8c 100644 --- a/sys-cluster/pacemaker/pacemaker-1.1.12-r1.ebuild +++ b/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2015 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/pacemaker-1.1.12-r1.ebuild,v 1.1 2015/01/01 23:01:41 mgorny Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-cluster/pacemaker/pacemaker-1.1.12-r2.ebuild,v 1.1 2015/03/23 11:13:20 ultrabug Exp $ EAPI="5" PYTHON_COMPAT=( python2_7 ) @@ -37,7 +37,11 @@ RDEPEND="${DEPEND}" REQUIRED_USE=${PYTHON_REQUIRED_USE} -PATCHES=("${FILESDIR}"/pacemaker-1.1.10-tinfo.patch) +PATCHES=( + "${FILESDIR}"/pacemaker-1.1.10-tinfo.patch + "${FILESDIR}"/pacemaker-1.1.12-glib.patch + "${FILESDIR}"/pacemaker-1.1.12-stonith.patch +) S="${WORKDIR}/${PN}-${MY_P}" @@ -45,6 +49,9 @@ src_prepare() { epatch "${PATCHES[@]}" epatch_user + # bug #490908 + cp "${FILESDIR}/ping" extra/resources/ping || die + sed -i -e "/ggdb3/d" configure.ac || die sed -i -e "s/ -ggdb//g" configure.ac || die sed -i -e "s/uid2username(uid)/uid2username(uid_client)/g" lib/common/ipc.c || die -- 2.26.2