Project History

From ClusterLabs

Pacemaker came to life in late 2003 when Lars convinced SUSE to hire Andrew Beekhof to implement a new cluster resource manager (CRM) for the Heartbeat project.

Although simple to configure, the old Heartbeat version 1 cluster manager had four key deficiencies:

  • Maximum of 2 nodes
  • Highly coupled design and implementation
  • Overly simplistic group-based resource model
  • Inability to detect and recover from resource-level failures

In 2005, Heartbeat 2.0.0 was released containing the first public version of the new CRM.

After many successful releases, the decision was made at the end of 2007 to spin off the CRM into its own project after the 2.1.3 Heartbeat release in order to:

  • support both the OpenAIS and Heartbeat cluster stacks equally
  • decouple the release cycles of two projects at very different stages of their life cycles
  • foster clearer package boundaries, thus leading to
  • better and more stable interfaces

This transition was completed in 2008 with the 0.6.0 release of Pacemaker which was the first to support both cluster stacks. The 0.6 series was derived from, and fully compatible with, the 2.1.3 CRM. It received bug-fix-only updates throughout 2008 and 2009 before being deprecated in March 2010.

The Pacemaker 1.0 series contained many improvements over prior releases, including:

  • A more intuitive syntax
  • Failure (migration) thresholds and timeouts
  • Tool for making offline configuration changes
  • A unified command line configuration tool that hides the underlying XML
  • Rules, instance_attributes, meta_attributes and sets of operations can be defined once and referenced in multiple places
  • The ability to connect to the CIB from non-cluster machines
  • Allow recurring actions to be triggered at known times
  • A more powerful RelaxNG-based configuration schema