Managing Serviceguard A.11.20, March 2013
are discussed later in this section under “Extended Dependencies” (page 147). You should read the
next section, “Simple Dependencies” (page 143), first.
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 242). For a discussion of complex dependencies, see “Extended Dependencies” (page 147).)
Make a package dependent on another package if the first package cannot (or should not) function
without the services provided by the second, on the same node. For example, pkg1 might run a
real-time web interface to a database managed by pkg2 on the same node. In this case it might
make sense to make pkg1 dependent on pkg2.
In considering whether or not to create a simple dependency between packages, use the Rules for
Simple Dependencies and Guidelines for Simple Dependencies 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.
• pkg1’s package_type (page 238) and failover_policy (page 241) 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 node_name list (page 239) must contain all of the nodes on pkg1’s.
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.
Package Configuration Planning 143