Product SiteDocumentation Site

5.2. Common ancestor: heartbeat project

Pacemaker can be considered as a spin-off from ‘heartbeat’, original comprehensive HA suite started by Alan Robertson, and some portions of code are shared, at least on the conceptual level if not verbatim, till today, even if the effective percentage continually declines. Note that till Pacemaker 2.0, it also used to stand for one (and initially the only) of supported messaging back-ends (removal of this support made for one such notable drop of reused code), see also pre-2.0 commit 55ab749bf.
The codebase for heartbeat used to be hosted at http://hg.linux-ha.org, but since that does not appear reliably available recently, an archive checkout from 2016 is shared at as a dedicated read-only repository, and anchored there, the most notable commits are:
Regarding the Pacemaker’s split from heartbeat, it evolved stepwise (as opposed to one-off cut), and the last step of full dependency is depicted in The Corosync Cluster Engine paper, fig. 10. This article also provides a good reference regarding wider historical context of the tangentially (and deeper in some cases) meeting components around that time.

5.2.1. Influence of heartbeat on Pacemaker

On a closer look, we can identify these things in common:
  • extensive use of data types and functions of GLib
  • Cluster Testing System (CTS) is inherited from initial implementation by Alan Robertson