[ClusterLabs] Resource agents differences from 1.1.14 and 1.1.18

Jan Pokorný jpokorny at redhat.com
Thu Jun 21 09:09:17 EDT 2018

Hello Salvatore,

On 21/06/18 12:44 +0200, Salvatore D'angelo wrote:
> I am trying to upgrade my PostgresSQL cluster managed by pacemaker
> to pacemaker 1.1.8 or 2.0.0.  I have some resource agents that I
> patched to have them working with my cluster.
> Can someone tell me if something is changed in the OCF interface
> from 1.1.14 release and the 1.1.8/2.0.0?

You can consider the OCF specification/interface stable and no
breakages are really imminent.  There are admittedly some parts with
less than well-defined semantics (if it's defined at all; for instance,
questions on what's the proper interpretation of "unique" slash
reloadable parameters was raised in the past [1,2]).

This stability is moreover enforced with the requirement of cross
compatibility between various OCF conformant agent vs. resource
manager implementations (say those maintained in resource-agents
project vs. pacemaker, plus various versions thereof, without any
apriori defined ways of how to negotiate any further inteface
specifics, but see [3], for instance).

> I am using the following resource agents:
> /usr/lib/ocf/resource.d/heartbeat/Filesystem
> /usr/lib/ocf/resource.d/heartbeat/ethmonitor
> /usr/lib/ocf/resource.d/heartbeat/pgsql (patched)

^ this is really contained within resource-agents project, and as
  mentioned, nothing pushes you to update this piece of software
  even if you intend to update pacemaker (granted, keeping step
  with overall evolutionary "time snapshots" is always wise)

> /usr/lib/ocf/resource.d/pacemaker/HealthCPU (patched)
> /usr/lib/ocf/resource.d/pacemaker/ping (patched)
> /usr/lib/ocf/resource.d/pacemaker/SysInfo (patched)

^ and these are from pacemaker's realms, so there's naturally
  a closer coupling possibly beyond what standard mandates, but
  again, OCF forms a "fixed point", basis upon which the graph
  connecting the functionality user(s) and providers is formed,
  so presumably you can mix and match various versions even if
  the bits come from the very same project

> I am doing some tests to verify this but I would like to know if
> there is at high level something I should be aware.

Nothing comes to my mind, though your are always best served with
your own investigation (since you are modifying the agents anyway).

As a rule of thumb, I'd start with checking the changelogs of the
mentioned projects, and deeper concerns can ultimately be resolved
with the review of cross-version changes on the source code level,

  git clone https://github.com/ClusterLabs/resource-agents.git
  pushd resource-agents
  # let's say you start with agents from v3.9.7 release
  git diff v3.9.7 v4.1.1 -- heartbeat/{Filesystem,ethmonitor,pgsql}

  git clone https://github.com/ClusterLabs/pacemaker.git
  pushd pacemaker
  git diff Pacemaker-1.1.14 Pacemaker-1.1.18 -- \

It's more like showing how to fish than serving you a meal,
but hopefully this helps regardless (perhaps even more than
latter would do).

[1] https://lists.clusterlabs.org/pipermail/users/2016-June/010635.html
[2] https://lists.clusterlabs.org/pipermail/users/2017-September/013743.html
[3] https://github.com/ClusterLabs/OCF-spec/issues/17

Jan (Poki)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <https://lists.clusterlabs.org/pipermail/users/attachments/20180621/2a0c5d3b/attachment-0002.sig>

More information about the Users mailing list