[ClusterLabs Developers] Heads up for potential Pacemaker API change

Ken Gaillot kgaillot at redhat.com
Thu Nov 1 18:19:10 EDT 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