[Pacemaker] [PING] ping, pingd and CIB updates, pick your poison :)

Thomas Guthmann tguthmann at iseek.com.au
Wed Jul 28 06:45:23 UTC 2010


Hey,

As much as I like pacemaker I hate these ping tests which don't update 
the CIB. After reading a lot on the mailing list I see that people are 
still a lot confused. So can one of the main developers give an example 
that should work like "how to check your connectivity" ? (the wiki still 
talk about pingd for instance). I don't know if my rules are "by the 
rule book" :

primitive ping ocf:pacemaker:ping \
         params host_list="192.168.1.100" dampen="121" attempts="3" 
debug="true" \
         op monitor interval="10s" timeout="20s"

location rule-connectivity DB \
         rule $id="rule-ping" -inf: not_defined pingd or pingd number:lte 0

My problem is that the CIB is not updated when I lost connectivity even 
with pacemaker:ping instead of obsolete pacemaker:pingd (that I used 
before). I upgraded from corosync/pacemaker 1.2.1/1.0.8 to the latest 
1.2.5/1.0.9-11 but I still have the problem. Indeed, if my gateway (or a 
fake IP I'm using for tests) is down I can see that ping is working 
correctly but attrd_updater does _NOT_ update the CIB. But if I do 
attrd_updated -R it updates the value. Note: I used one node only to 
reduce the variables during the tests so it's not something due to 
concurrency. See logs below. I can provide a hb_report if necessary.

Any ideas ? Bug or PEBKAC ?

Cheers,
Thomas

---

Jul 28 15:36:05 db1 attrd_updater: [5133]: info: Invoked: attrd_updater 
-n pingd -v 1 -d 121
Jul 28 15:36:17 db1 attrd_updater: [5150]: info: Invoked: attrd_updater 
-n pingd -v 1 -d 121
Jul 28 15:36:29 db1 attrd_updater: [5165]: info: Invoked: attrd_updater 
-n pingd -v 1 -d 121
Jul 28 15:36:47 db1 ping[5169]: WARNING: 192.168.1.100 is inactive: PING 
192.168.1.100 (192.168.1.100) 56(84) bytes of data.#012#012--- 
192.168.1.100 ping statistics ---#0123 packets transmitted, 0 received, 
+2 errors, 100% packet loss, time 1999ms#012, pipe 2
Jul 28 15:36:47 db1 attrd_updater: [5189]: info: Invoked: attrd_updater 
-n pingd -v 0 -d 121
Jul 28 15:37:05 db1 ping[5196]: WARNING: 192.168.1.100 is inactive: PING 
192.168.1.100 (192.168.1.100) 56(84) bytes of data.#012#012--- 
192.168.1.100 ping statistics ---#0123 packets transmitted, 0 received, 
+1 errors, 100% packet loss, time 1999ms
Jul 28 15:37:05 db1 attrd_updater: [5212]: info: Invoked: attrd_updater 
-n pingd -v 0 -d 121
Jul 28 15:37:23 db1 ping[5218]: WARNING: 192.168.1.100 is inactive: PING 
192.168.1.100 (192.168.1.100) 56(84) bytes of data.#012#012--- 
192.168.1.100 ping statistics ---#0123 packets transmitted, 0 received, 
+1 errors, 100% packet loss, time 1999ms
...
.....
.......
Jul 28 15:56:01 db1 ping[7803]: WARNING: 192.168.1.100 is inactive: PING 
192.168.1.100 (192.168.1.100) 56(84) bytes of data.#012#012--- 
192.168.1.100 ping statistics ---#0123 packets transmitted, 0 received, 
+1 errors, 100% packet loss, time 1999ms
Jul 28 15:56:01 db1 attrd_updater: [7819]: info: Invoked: attrd_updater 
-n pingd -v 0 -d 121

[root at db1:~]# cibadmin -Ql | grep nvpair.*ping
             <nvpair id="ping-instance_attributes-host_list" 
name="host_list" value="192.168.1.100"/>
             <nvpair id="ping-instance_attributes-dampen" name="dampen" 
value="121"/>
             <nvpair id="ping-instance_attributes-attempts" 
name="attempts" value="3"/>
             <nvpair id="ping-instance_attributes-debug" name="debug" 
value="true"/>
           <nvpair id="status-db1.xxx-pingd" name="pingd" value="1"/>

# attrd_updater -R
# cibadmin -Ql | grep nvpair.*ping
             <nvpair id="ping-instance_attributes-host_list" 
name="host_list" value="192.168.1.100"/>
             <nvpair id="ping-instance_attributes-dampen" name="dampen" 
value="121"/>
             <nvpair id="ping-instance_attributes-attempts" 
name="attempts" value="3"/>
             <nvpair id="ping-instance_attributes-debug" name="debug" 
value="true"/>
           <nvpair id="status-db2.xxx-pingd" name="pingd" value="0"/>
           <nvpair id="status-db1.xxx-pingd" name="pingd" value="0"/>

#



More information about the Pacemaker mailing list