[ClusterLabs Developers] Resurrecting OCF

Jan Pokorný jpokorny at redhat.com
Fri Aug 19 05:14:27 EDT 2016


On 19/08/16 10:59 +0200, Jan Pokorný wrote:
> So, having some more thoughts on this, here's the possible action
> plan (just for heartbeat -> clusterlabs transition + deprecating
> some agents, but clusterlabs-staging -> clusterlabs would be similar):
> 
> # (adapt and) move original heartbeat agents
> 
> 1. have a resource.d subdirectory "clusterlabs" and move (possibly under
>    new names) agents that were a priori updated to reflect new revision
>    of OCF there
> 
> 2. have a resource.d subdirectory ".deprecated" (for instance) and
>    move the RAs that are going to be sunset over there (i.e.,
>    original heartbeat agents = agents moved to clusterlabs + agents
>    moved to .deprecated + agents that remained under heartbeat, pending
>    to be moved under clusterlabs)
> 
> # preparation for backward compatibility
> 
> 3. have a file with old heartbeat name -> new clusterlabs name mapping
>    for the agents from 0., i.e., hence physically changed the directory;
>    the format can be as simple as CVS with "old name; [new name]" lines
>    where omitted new name means that actual name hasn't changed
>    (unlike proposed IPaddress2 -> IP)
> 
> 4. have an XSL template that will convert resource references per the
>    translation file from 3. (this XSLT should be automatically
>    generated based on that file) and a script that will call
>    something like:
>    cibadmin -Q | xsltproc <XSLT> - | cibadmin --replace --xml-pipe
> 
> 5. have a shell script "__cl_compat__" (for instance, name clearly
>    distinguishable will become handy later on), that will:
>    - figure which symlink it was called under ("$0") and figure out
>      how it should behave based on file from 3.:
>      . $0 found as old name with new name -> clusterlabs/<new name>
>        will be called
>      . $0 found as old name without new name -> clusterlabs/<old name>
>        will be called
>      . $0 not found as old name -> .deprecated/<old name> will be
>        called if exists (otherwise fail early)
>    - if "$HA_RSCTMP/$(basename $0)_compat" exists, just run:
>      $0 "$@"; exit $?
>      the purpose here is to avoid excessive spamming in the logs
>    - touch "$HA_RSCTMP/$(basename $0)_compat"
>    - emit a warning "Your configuration referes to the agent with
>      an obsolete specification", followed with corresponding:
>       . "please consider changing ocf:heartbeat:<old name> to
>          ocf:clusterlabs:<new name>, you may use <script from 4.>
> 	 to ease such transition"
>       . "please consider changing ocf:heartbeat:<old name> to
>          ocf:clusterlabs:<old name>, you may use <script from 4.>
> 	 to ease such transition"
>       . "please consider finding another alternative for
>          ocf:heartbeat:<old name> as this agent is not actively
> 	 maintained and will be dropped in the next major release;
> 	 alternatively, if you volunteer to maintain it,
> 	 please reach developers at clusterlabs.org mailing list"

(apparently missing)

   - $0 "$@"

> # plugging it all together
> 
> 6. for agents moved from heartbeat in any of clusterlabs/.deprecated,
>    (items 1. and 2.), provide respective symlinks from heartbeat
>    pointing to __cl_compat__ script from 5.
> 
> Possibly recycle for clusterlabs-staging idea.
> 
> 
> Now, for the higher level tools (crm, pcs), they should avoid listing
> or suggesting agents that are symlinks to files matching wildcard
> "__*__", and perhaps even actively suggest the alternative if this
> such one is to be used -- this could be reached by making __compat__
> script from 5. handle one new action (to be reflected in the OCF
> revision as optional), say "new-alias" that would output what
> to use instead (based on file from 3. it works with anyway).

-- 
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/developers/attachments/20160819/74d23152/attachment-0003.sig>


More information about the Developers mailing list