Managing HP Serviceguard A.11.20.10 for Linux, December 2012

Serviceguard adds two new capabilities: you can specify broadly where the package depended
on must be running, and you can specify that it must be down. These capabilities are discussed
later in this section under “Extended Dependencies” (page 112). You should read the next section,
“Simple Dependencies” (page 108), first.
4.8.7.1 Simple Dependencies
A simple dependency occurs when one package requires another to be running on the same node.
You define these conditions by means of the parameters dependency_condition and
dependency_location, using the literal values UP and same_node, respectively. (For detailed
configuration information, see the package parameter definitions starting with dependency_name
(page 174). For a discussion of complex dependencies, see “Extended Dependencies (page 112).
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 112) that follow.
4.8.7.2 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.
pkg1’s package_type (page 169) and failover_policy (page 172) 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.
pkg2’s node_name list (page 170) must contain all of the nodes on pkg1s.
This means that if pkg1 is configured to run on any node in the cluster (*), pkg2 must
also be configured to run on any node.
NOTE: If pkg1 lists all the nodes, rather than using the asterisk (*), pkg2 must also
list them.
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.
108 Planning and Documenting an HA Cluster