Managing Serviceguard Eighteenth Edition, September 2010
IMPORTANT: If you have not already done so, read the discussion of Simple
Dependencies (page 179) before you go on.
The interaction of the legal values of dependency_location and dependency_condition creates
the following possibilities:
• Same-node dependency: a package can require that another package be UP on the
same node.
This is the case covered in the section on Simple Dependencies (page 179).
• Different-node dependency: a package can require that another package be UP
on a different node.
• Any-node dependency: a package can require that another package be UP on any
node in the cluster.
• Same-node exclusion: a package can require that another package be DOWN on
the same node. (But this does not prevent that package from being UP on another
node.)
• All-nodes exclusion: a package can require that another package be DOWN on all
nodes in the cluster.
Rules for Exclusionary Dependencies
• All exclusions must be mutual.
That is, if pkg1 requires pkg2 to be DOWN, pkg2 must also require pkg1 to be
DOWN.
By creating an exclusionary relationship between any two packages, you ensure
that only one of them can be running at any time — either on a given node
(same-node exclusion) or throughout the cluster (all-nodes exclusion). A package
can have an exclusionary relationship with any number of other packages, but
each such relationship must be mutual.
NOTE: Unexpected behavior may result if you simultaneously halt two packages
that have an exclusionary dependency on each other.
• Priority (discussed in detail under “Dragging Rules for Simple Dependencies”
(page 181)) must be set for at least one of the packages in an exclusionary
relationship.
The higher-priority package can force the lower-priority package to halt or (in the
case of a same-node exclusion) move to another eligible node, if any.
• dependency_location must be either same_node or all_nodes, and must be the
same for both packages.
• Both packages must be failover packages whose failover_policy (page 292) is
configured_node.
Package Configuration Planning 185