[ClusterLabs] Pacemaker not always selecting the right stonith device

Klaus Wenninger kwenning at redhat.com
Wed Jul 20 05:52:39 EDT 2016

On 07/19/2016 06:54 PM, Andrei Borzenkov wrote:
> 19.07.2016 19:01, Andrei Borzenkov пишет:
>> 19.07.2016 18:24, Klaus Wenninger пишет:
>>> On 07/19/2016 04:17 PM, Ken Gaillot wrote:
>>>> On 07/19/2016 09:00 AM, Andrei Borzenkov wrote:
>>>>> On Tue, Jul 19, 2016 at 4:52 PM, Ken Gaillot <kgaillot at redhat.com> wrote:
>>>>> ...
>>>>>>> primitive p_ston_pg1 stonith:external/ipmi \
>>>>>>>  params hostname=pg1 ipaddr= userid=root
>>>>>>> passwd="/var/vcap/data/packages/pacemaker/ra-tmp/stonith/PG1-ipmipass"
>>>>>>> passwd_method=file interface=lan priv=OPERATOR
>>>>> ...
>>>>>> These constraints prevent each device from running on its intended
>>>>>> target, but they don't limit which nodes each device can fence. For
>>>>>> that, each device needs a pcmk_host_list or pcmk_host_map entry, for
>>>>>> example:
>>>>>>    primitive p_ston_pg1 ... pcmk_host_map=pg1:pg1.ipmi.example.com
>>>>>> Use pcmk_host_list if the fence device needs the node name as known to
>>>>>> the cluster, and pcmk_host_map if you need to translate a node name to
>>>>>> an address the device understands.
>>>>> Is not pacemaker expected by default to query stonith agent instance
>>>>> (sorry I do not know proper name for it) for a list of hosts it can
>>>>> manage? And external/ipmi should return value of "hostname" patameter
>>>>> here? So the question is why it does not work?
>>>> You're right -- if not told otherwise, Pacemaker will query the device
>>>> for the target list. In this case, the output of "stonith_admin -l"
>>>> suggests it's not returning the desired information. I'm not familiar
>>>> with the external agents, so I don't know why that would be. I
>>>> mistakenly assumed it worked similarly to fence_ipmilan ...
>>> guess it worked at the times when pacemaker did fencing via
>>> cluster-glue-code...
>>> A grep for "gethosts" doesn't return much for current pacemaker-sources
>>> apart
>>> from some leftovers in cts.
>> Oh oh ... this sounds like a bug, no?
> Apparently of all cluster-glue agents only ec2 supports both old and new
> variants
>         gethosts|hostlist|list)
>                 # List of names we know about
> all others use gethosts. Not sure whether it is something to fix in
> pacemaker or cluster-glue.
Haven't dealt with legacy-fencing for a while so degradation of in-memory
information + development in pacemaker create a portion of uncertainty
in what I'm saying ;-)
What you could try is adding "<action name="list" />" to
to convince pacemaker to even try asking the external Linux-HA stonith
Unfortunately I currently don't have a setup (no cluster-glue stuff) I could
quickly experiment with legacy-fencing.

More information about the Users mailing list