[ClusterLabs] What are RHCS and LHA fence agents?

Oyvind Albrigtsen oalbrigt at redhat.com
Wed Apr 9 07:53:20 UTC 2025


On 09/04/25 00:22 -0700, Reid Wahl wrote:
>On Wed, Apr 9, 2025 at 12:07 AM Oyvind Albrigtsen <oalbrigt at redhat.com> wrote:
>>
>> On 08/04/25 22:27 +0900, renayama19661014 at ybb.ne.jp wrote:
>> >Hi Reid,
>> >Hi All,
>> >
>> >> > 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 also looked into the nodeid parameter, but found nothing.
>> >Since this was a modification made when unfencing was adopted, I thought that it might have been made possible to pass the nodeid to the unfencing STONITH device for key generation, but I could not find any description of this.
>> It seems like it's probably nodeid from corosync and not related to
>> fence-agents specifically:
>> https://github.com/ClusterLabs/fence-agents/issues/270
>
>That would make some sense. But since 2012 the fencer has been looking
>for nodeid in the metadata of a fence agent, and reacting accordingly.
>I'm not aware of a fence agent that has nodeid in the metadata.
Yeah. The only additional things I can find related to it is
get_node_id() in fence_scsi:
https://github.com/ClusterLabs/fence-agents/blob/main/agents/scsi/fence_scsi.py#L237

and fence-agents commit c9a9dd8d880708539acd36e753e578a5c3a40478 from
2008:
cman: replace high_nodeid with votes in transition message

although the latter changes to votes, but it might indicate that it
was used from cman and RGManager times.

So I guess at some point in time we moved from having to inform
Pacemaker what nodeid it has to the agents getting the info from the
cluster instead.


Oyvind Albrigtsen
>
>>
>> Oyvind Albrigtsen
>> >
>> >Best Regards,
>> >Hideo Yamauchi.
>> >
>> >> ----- Original Message -----
>> >>
>> >> From: "ClusterLabs-ML" <users at clusterlabs.org>
>> >> To: "Reid Wahl" <nwahl at redhat.com>
>> >> Cc: "Yan Gao" <ygao at suse.com>; "ClusterLabs-ML" <users at clusterlabs.org>
>> >> Date: 2025/04/08 火 19:24
>> >> Subject: Re: [ClusterLabs] What are RHCS and LHA fence agents?
>> >>
>> >>
>> >> 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
>> >> >>>
>> >> >>>
>> >> >>>
>> >> >>
>> >> >
>> >> >
>> >>
>> >> _______________________________________________
>> >> Manage your subscription:
>> >> https://lists.clusterlabs.org/mailman/listinfo/users
>> >>
>> >> ClusterLabs home: https://www.clusterlabs.org/
>> >>
>> >
>> >_______________________________________________
>> >Manage your subscription:
>> >https://lists.clusterlabs.org/mailman/listinfo/users
>> >
>> >ClusterLabs home: https://www.clusterlabs.org/
>>
>
>
>-- 
>Regards,
>
>Reid Wahl (He/Him)
>Senior Software Engineer, Red Hat
>RHEL High Availability - Pacemaker
>
>_______________________________________________
>Manage your subscription:
>https://lists.clusterlabs.org/mailman/listinfo/users
>
>ClusterLabs home: https://www.clusterlabs.org/



More information about the Users mailing list