[ClusterLabs] What are RHCS and LHA fence agents?
Yan Gao
ygao at suse.com
Tue Apr 8 10:24:05 UTC 2025
On 2025/4/8 10:44, Reid Wahl wrote:
> On Tue, Apr 8, 2025 at 12:15 AM Yan Gao <ygao at suse.com> wrote:
>>
>> Hi Reid,
>>
>> On 2025/4/8 1:52, Reid Wahl wrote:
>>> On Mon, Apr 7, 2025 at 4:30 PM Reid Wahl <nwahl at redhat.com> wrote:
>>>>
>>>> On Mon, Apr 7, 2025 at 4:24 PM Reid Wahl <nwahl at redhat.com> wrote:
>>>>>
>>>>> What are RHCS and LHA fence agents, and what are they used for today?
>>>>>
>>>>> I would have guessed from the names and what commit messages I've found that
>>>>> * RHCS refers to Red Hat Cluster Suite (a.k.a. cman clusters), which
>>>>> has been unsupported since RHEL 7
>>>
>>> Okay, we really ought to rename this stuff soon. Pacemaker uses the
>>> term "rhcs" to mean "standard fence agents" -- the kind that are from
>>> the ClusterLabs/fence-agents repository. Pacemaker actually decides
>>> "this agent is an RHCS-style agent" if it lives in
>>> `PCMK__FENCE_BINDIR` (which is /usr/sbin on my machine) and starts
>>> with "fence_".
>>>
>>> Sigh. Sorry to bother everyone. I'm getting frustrated by unclear and
>>> legacy code :)
>>>
>>>>> * LHA refers to Linux-HA, which... isn't that from Heartbeat clusters
>>>>> or something?
>>
>> Yes, they are originally from heartbeat (the major project by "Linux HA"
>> community back then) and now in cluster-glue. Technically they need a
>> moderator agent "fence_legacy" to be invoked.
>
> Interesting, thanks! Do you know whether there's been any movement to
> get all of these agents (or equivalent agents) into fence-agents? I
> know it's not a trivial task. It just seems odd to me that after this
> much time, we haven't at least deprecated the legacy stuff.
AFAICS both LHA and RHCS agents might have had a similarly long history
:-) Anyway it indeed has been painful to have two different fashions .
A good fact is, there are alternatives from fence-agents for the
commonly used fencing mechanisms. We are planning on disabling the
support for LHA agents with pacemaker-3.0 in the next major release of
distribution, meanwhile still need to continue supporting them with
pacemaker-2.1 code base though.
>
>>
>>>>>
>>>>> All of this is from before my time as a developer for Pacemaker. I'm
>>>>> trying to understand what's still relevant and how.
>>>>>
>>>>> I'm including Yan Gao from SUSE, as they have some commits in the past
>>>>> few years related to both agent types.
>>>>
>>>> Related question: Is anyone aware of ANY fence agent that supports a
>>>> "nodeid" parameter? We seem to have some dead code in Pacemaker
>>>> related to that. I don't see any agent in fence-agents or cluster-glue
>>>> (which is apparently related to LHA fencing) that accepts a nodeid
>>>> parameter.
>>
>> Indeed so.
>>
>> So-called "Stonith scsi agent support" was mentioned in the PR that
>> introduced this:
>> https://github.com/ClusterLabs/pacemaker/pull/186
>
> Also interesting... I didn't find that PR, because when I looked
> through `git log`, I found this commit instead:
> https://github.com/ClusterLabs/pacemaker/commit/c2265a12
>
> It's not attached to any PR. These two commits appear to be identical
> and both part of the main branch. Odd.
>
> But even going back to those days (late 2012), I don't see any mention
> of "nodeid" in the fence-agents repo, which included the fence_scsi
> agent.
>
> I'm inclined to get rid of the fencer code that automatically adds
> this parameter.
+1
Regards,
Yan
>
>>
>> But not sure whether it had anything to do with fence_scsi agent...
>>
>> Regards,
>> Yan
>>
>>
>>>
>>> The nodeid question still stands.
>>>
>>>>
>>>> --
>>>> Regards,
>>>>
>>>> Reid Wahl (He/Him)
>>>> Senior Software Engineer, Red Hat
>>>> RHEL High Availability - Pacemaker
>>>
>>>
>>>
>>
>
>
More information about the Users
mailing list