[Pacemaker] cloned ping ressource with multiple target hosts fails

Moritz Krinke mkrinke at fotocommunity.net
Tue Jan 26 09:55:16 EST 2010


Hello,

i'm trying to configure a 2-node cluster with one resource (ClusterIP) which should only be allowed to run if a cloned ping resource succeeds.
After reading the pacemaker configuration explained document and some WIKI entries i came up with the following configuration:

node centos5srv1
node centos5srv2
primitive ClusterIP ocf:heartbeat:IPaddr2 \
        meta target-role="started" is-managed="true" \
        operations $id="ClusterIP-operations" \
        op monitor interval="1s" timeout="5s" start-delay="0" \
        params ip="192.168.0.65" cidr_netmask="32" nic="eth0"
primitive ping ocf:pacemaker:ping \
        params dampen="5s" multiplier="1000" host_list="192.168.0.60 10.100.64.50" name="pingval" \
        operations $id="ping-operations" \
        op monitor interval="10s" timeout="5s"
clone Connected ping
location ClusterIP_on_Connected ClusterIP \
        rule $id="ClusterIP_on_Connected-rule" -inf: pingval lt 2000
property $id="cib-bootstrap-options" \
        dc-version="1.0.7-d3fa20fc76c7947d6de66db7e52526dc6bd7d782" \
        cluster-infrastructure="openais" \
        expected-quorum-votes="2" \
        no-quorum-policy="ignore" \
        stonith-enabled="false"
rsc_defaults $id="rsc_defaults-options" \
        resource-stickiness="100"


but this does not work, the ClusterIP resource wont get started at all.
after i removed all but one ping-target from the configuration, (and the constraint accordingly) it works.

primitive ping ocf:pacemaker:ping \
        params dampen="5s" multiplier="1000" host_list="192.168.0.60" name="pingval" \
        operations $id="ping-operations" \
        op monitor interval="10s" timeout="5s"
clone Connected ping
location ClusterIP_on_Connected ClusterIP \
        rule $id="ClusterIP_on_Connected-rule" -inf: pingval lt 1000

as i understand the documentation i am allowed to put multiple targets into the "host_list" directive, and the value of "pingval" contains the number of reached hosts multiplied with the value of "multiplier"?

in the log i see errors complaining about a failing ping:
Jan 26 15:42:15 centos5srv2 lrmd: [21076]: WARN: ping:0:monitor process (PID 885) timed out (try 1).  Killing with signal SIGTERM (15).
Jan 26 15:42:15 centos5srv2 ping[885]: INFO: They use TERM to bring us down. No such luck.
Jan 26 15:42:15 centos5srv2 ping[885]: ERROR: Unexpected result for 'ping -n -q -W 5 -c 5  10.100.64.50' 143: 
Jan 26 15:42:15 centos5srv2 attrd_updater: [909]: info: Invoked: attrd_updater -n pingval -v 1000 -d 5s 
Jan 26 15:42:15 centos5srv2 lrmd: [21076]: info: RA output: (ping:0:monitor:stderr) 2010/01/26_15:42:15 INFO: They use TERM to bring us down. No such luck. 2010/01/26_15:42:15 ERROR: Unexpected result for 'ping -n -q -W 5 -c 5  10.100.64.50' 143:  


when i issue the stated ping cmd "ping -n -q -W 5 -c 5  10.100.64.50" myself, it succeeds.


i probably could create a cloned ping resource for every host i want to have checked and than write corresponding rules for the location constraint, but this would result in a much more complex configuration that is needed as far as i understood the docs.

Any Help/Suggestions are appreciated :-)

Using:
centos5.4 x86_64
corosync-1.2.0-1.el5
openais-1.1.0-1.el5
pacemaker-1.0.7-2.el5


Thanks & Regards,
Moritz



More information about the Pacemaker mailing list