[ClusterLabs Developers] Heads up for potential Pacemaker API change
Ken Gaillot
kgaillot at redhat.com
Thu Nov 1 22:19:10 UTC 2018
On Thu, 2018-11-01 at 16:41 -0500, Ken Gaillot wrote:
> This would affect most applications using libpe_status.
>
> I ran into a situation recently where a fix would require changing
> libpe_status's pe_working_set_t data type.
>
> For most data types in the Pacemaker API, we require (usually by
> documented policy rather than code) that library-provided
> constructors
> be used to allocate them. That allows us to add new members at the
> end
> of structs without existing applications needing to be rebuilt.
>
> However we don't have that for pe_working_set_t, so any change to
> that
> currently requires an ABI version bump and thus all applications
> using
> it to be recompiled (and breaking any ABI stability a distro would
> like
> to provide).
>
> I have a PR open currently to add a constructor and destructor for
> pe_working_set_t, and document their requirement:
>
> https://github.com/ClusterLabs/pacemaker/pull/1608
>
> Applications that use the library would need to not only be
> recompiled
> but also modified to use the new functions. The PR gives examples.
>
> A bit of searching turned up only sbd, fence-virt, and pacemaker-mgmt
> using libpe_status (and I'm not sure pacemaker-mgmt is still active).
Forgot to add pm_kvm_tools from the Japanese Linux-HA community
> But I'm curious if anyone has custom applications that might be
> affected, or has an opinion on the problem and solution here.
>
> In case anyone's interested, the fix that inspired this has its own
> PR:
>
> https://github.com/ClusterLabs/pacemaker/pull/1609
--
Ken Gaillot <kgaillot at redhat.com>
More information about the Developers
mailing list