Managing HP Serviceguard for Linux Ninth Edition, April 2009

detailed configuration information, see the package parameter definitions starting with
dependency_name” (page 202). For a discussion of complex dependencies, see
Make a package dependent on another package if the first package cannot (or should
not) function without the services provided by the second. For example, pkg1 might
run a real-time web interface to a database managed by pkg2. In this case it might
make sense to make pkg1 dependent on pkg2.
In considering whether or not to create a dependency between packages, use the Rules
for Simple Dependencies and Guidelines for Simple Dependencies (page 125) that
follow.
Rules for Simple Dependencies
Assume that we want to make pkg1 depend on pkg2.
NOTE: pkg1 can depend on more than one other package, and pkg2 can depend on
another package or packages; we are assuming only two packages in order to make
the rules as clear as possible.
pkg1 will not start on any node unless pkg2 is running on that node.
pkg1s package_type (page 197) and failover_policy (page 201) constrain the type and
characteristics of pkg2, as follows:
If pkg1 is a multi-node package, pkg2 must be a multi-node or system
multi-node package. (Note that system multi-node packages are not supported
for general use.)
If pkg1 is a failover package and its failover_policy is min_package_node,
pkg2 must be a multi-node or system multi-node package.
If pkg1 is a failover package and its failover_policy is configured_node, pkg2
must be:
a multi-node or system multi-node package, or
a failover package whose failover_policy is configured_node.
pkg2 cannot be a failover package whose failover_policy is min_package_node.
pkg2s node_name list (page 197) must contain all of the nodes on pkg1s.
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 (page 202),
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
122 Planning and Documenting an HA Cluster