Getting the word out there: enabling application developers to write and package resource agents


One Line Summary

What we can do to help application developers add Pacemaker support into their applications


Up to this point, we have maintained most OCF compliant resource agents in central repositories associated with the respective clustering projects (Pacemaker, Linux-HA, and Red Hat Cluster). This has a number of obvious drawbacks: the RAs need to work around inconsistencies across versions of the target apps, some of their defaults reflect ancient target app defaults that are long obsolete, there is no integrated testing when new versions of target applications become available… the list goes on.

There have been efforts (in the Heartbeat 2.0/2.1 days) to reverse this an motivate application developers to bundle OCF RAs with their packages. Alas, due to the sheer inaccessibility of the XML managed hairy monster that the Heartbeat 2 crm was, none of these app developers had a big motivation to support something that they were convinced few people would use.

With the advent of the CRM shell and Pacemaker, and the ability to run and deploy and manage clusters without questioning one’s own sanity, this situation has — thankfully! — changed drastically. Starting with the ocf:linbit:drbd resource agent, we have begun to see a number of third-party RAs pop up. We now have support for RabbitMQ, nginx, and a number of other applications through the respective application teams themselves.

So, what can we do to extend this? How can we help application developers to write and improve the RAs they package? How can we help them out with guidelines on development, documentation, and packaging? How can we help people write RAs in Python, Ruby, Perl, C++, or whatever language they may be most comfortable with?

This presentation makes several proposals to better enable app developers to write good and stable RAs, and is meant to stimulate a lively discussion. Third-party app developers are, needless to say, highly encouraged to participate.


  • Florian Haas



    Florian is a senior consultant, tech writer, blogger, and developer at LINBIT. Working for a 100% Linux High Availability company, he blogs about, and contributes to, Linux clustering development and storage replication. Florian is the principal author of the DRBD User’s Guide and the Linux-HA User’s Guide, a regular contributor to the Linux-HA and DRBD projects, and a frequent conference speaker. He has previously tutored and presented at the MySQL Users Conference and Expo, LinuxTag, LinuxCon, the Tokyo Open Source Conference, and others.

Leave a private comment to organizers about this proposal