Managing HP Serviceguard for Linux, Seventh Edition, July 2007

Planning and Documenting an HA Cluster
Package Configuration Planning
Chapter 4 117
Preferably the nodes should be listed in the same order if the
dependency is between packages whose failover_policy is
configured_node; cmcheckconf and cmapplyconf will warn you
if they are not.
A package cannot depend on itself, directly or indirectly.
That is, not only must pkg1 not specify itself in the
dependency_condition (see page 207), but pkg1 must not specify
a dependency on pkg2 if pkg2 depends on pkg1, or if pkg2 depends on
pkg3 which depends on pkg1, etc.
•If pkg1 is a failover package and pkg2 is a multi-node or system
multi-node package, and pkg2 fails, pkg1 will halt and fail over to the
next node on its node_name list on which pkg2 is running (and any
other dependencies, such as resource dependencies or a dependency
on a third package, are met).
In the case of failover packages with a configured_node
failover_policy, a set of rules governs under what circumstances
pkg1 can force pkg2 to start on a given node. This is called dragging
and is determined by each package’s priority (see page 206). See
“Dragging Rules” on page 117.
•If pkg2 fails, Serviceguard will halt pkg1 and any other packages
that depend directly or indirectly on pkg2.
By default, Serviceguard halts packages in dependency order, the
dependent package(s) first, then the package depended on. In our
example, pkg1 would be halted first, then pkg2. If there were a third
package, pkg3, that depended on pkg1, pkg3 would be halted first,
then pkg1, then pkg2.
If the halt script for any dependent package hangs, by default the
package depended on will wait forever (pkg2
will wait forever for
pkg1, and if there is a pkg3 that depends on pkg1, pkg1 will wait
forever for pkg3). You can modify this behavior by means of the
successor_halt_timeout parameter (see page 204). (The
successor of a package depends on that package; in our example,
pkg1 is a successor of pkg2; conversely pkg2 can be referred to as a
predecessor of pkg1.)
Dragging Rules The priority parameter gives you a way to influence
the startup, failover, and failback behavior of a set of failover packages
that have a configured_node failover_policy, when one or more of
those packages depend on another or others.