Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.
Well, thinking about it, the only conclusion that I can honestly make after this instrumentation is that $id_prefix is effectively incorrect when entering fence_peer_init() and doesnt permit to remove the fence rule then, but in no case fence_peer_init() seems faulty, it just does what he has to with the parameter hes given. Back to the starting point To keep investigating further and may be save some time, does anybody know where id_prefix value is set up ? within DRBD code itself I guess ? If its the DRBD code that manages resync, its probably also it that can trigger cleanup actions afterwards, right ? In any case, I have to work a bit more before bothering you guys, especially when my config is a good mess at the moment, being only partially updated, one foot in a version, the other in another. Plus, I just have identified that my resource agents are not exactly the same version on both nodes, the rest of the cluster stack being identical. If someone has any advice or idea, hes welcome! Regards, Pascal. De : drbd-user-bounces at lists.linbit.com [mailto:drbd-user-bounces at lists.linbit.com] De la part de Pascal BERTON Envoyé : dimanche 24 février 2013 11:24 À : drbd-user at lists.linbit.com Objet : [DRBD-user] drbd 8.3.15 - crm_fence_peer.sh - problem in fence_peer_init() Guys, Im currently updating a Pacemaker+drbd+scst cluster from drbd-8.3.12 to drbd-8.3.15, and I found something odd regarding unfencing. Basic symptom is that unfencing does nothing, cluster logs report unfencing had been done, but in reality nothing has occurred. For instance heres the rule Ive got in my CIB after volume teardown : location drbd-fence-by-handler-ms-rdmVDR ms-rdmVDR \ rule $id="drbd-fence-by-handler-rule-ms-rdmVDR" $role="Master" -inf: #uname ne ipstore21 Now, I have instrumented the fence_peer_init() function within crm_fence_peer.sh script as follows : fence_peer_init() { # we know which instance we are: $OCF_RESOURCE_INSTANCE. echo "fence_peer_init() :" >> /var/log/unfence.log echo "===== $id_prefix =====" >> /var/log/unfence.log echo "===== $master_id =====" >> /var/log/unfence.log have_constraint=$(set +x; echo "$cib_xml" | sed_rsc_location_suitable_for_string_compare "$id_prefix-$master_id") echo "===== $have_constraint =====" >> /var/log/unfence.log echo "End of fence_peer_init()" >> /var/log/unfence.log echo >> /var/log/unfence.log return 0 } When resync finishes, heres what I get in my logfile : fence_peer_init() : ===== drbd-fence-by-handler-rdmVDR ===== ===== ms-rdmVDR ===== ===== ===== End of fence_peer_init() As a result, it searches a location rule named drbd-fence-by-handler-rdmVDR-ms-rdmVDR for deletion that effectively doesnt exists in the CIB and have_constraint returns empty Ive compared to 8.3.12 version of the script which used to work, and there seems to have some changes I will unfence by hand in the meantime but I think it requires some fix, right ? Regards, Pascal. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.linbit.com/pipermail/drbd-user/attachments/20130225/5c0e5fe3/attachment.htm>