Is pacemaker/corosync not more of a replacement for things like keepalived/heartbeatd (often used in conjunction with stonith, drbd), and as a way to run clusters of services?
You still need to launch and run the services themselves with something. (sysV init scripts, etc)
Even a cursory review of the docs seems to imply the same.
> Version 1 of Heartbeat came with its own style of resource
> agents and it is highly likely that many people have
> written their own agents based on its conventions.
> Although deprecated with the release of Heartbeat v2,
> they were supported by Pacemaker up until the release
> of 1.1.8 to enable administrators to continue to use
> these agents.
Usually there is a resource agent script that replaces the init script. If not, you just write one. This is a barrier to low-level users, but is not an issue for experienced admins/programmers/devops. The primary community library of such lives here: https://github.com/ClusterLabs/resource-agents/
Resource agent scripts can support master/slave style services (including promotion/demotion) in addition to enabling the cluster to self-manage nontrivial overall system state transitions on a multi-host basis. You define the target running state with a declarative syntax that is replicated to across all nodes.
Heartbeat is an earlier platform that has now been functionally replaced by corosync.