[ClusterLabs Developers] bundle/rkt implementation in pacemaker

Ken Gaillot kgaillot at redhat.com
Mon Jul 17 16:43:22 EDT 2017

On 07/17/2017 02:44 PM, Valentin Vidic wrote:
> Hello devs,
> Following the bundle release in 1.1.17, I've been working on a
> similar implementation for rkt.  Resource agent based on docker
> is here:
>   https://github.com/vvidic/resource-agents/blob/rkt/heartbeat/rkt
> That part should be fairly functional, but I'm having a bit more
> problems with the pacemaker part.  The patch I'm attaching is
> working for me, but is not a real pull request as it breaks the
> existing docker implementation :)  Could someone help me out to
> get this into an acceptable state?
> The first question I have is if the xml changes are ok for the
> new container type?  Do I need to modify both resources-2.8.rng
> and resources-2.9.rng or perhaps create a new version?

See the xml/Readme.md file -- I won't say all our documentation is
helpful, but that one is pretty good. ;-) Basically, you create a
resources-2.10.rng and leave everything else alone, and the makefile
will take it from there.

However, there's a catch. Pacemaker's internal XML revision number
implementation is a floating-point number, so 2.10 == 2.1. It's been on
the to-do list to fix that for a while, and it's gained new urgency
since we hit 2.9, but it hasn't happened yet. Definitely a high priority
:-) For now, for testing purposes, just modify the 2.9 file.

Regarding the patch, I'm thinking we should add a flags bitmask to
container_variant_data_t, and container_unpack() could set a flag for
the container type. That way, you don't have to do first_named_child()
every time you need to check the type, and you can check the type in
allocate_ip() so it doesn't break the docker code.

More information about the Developers mailing list