Managing HP Serviceguard A.12.00.00 for Linux, June 2014

lower priority package to halt or (in the case of a same-node exclusion) move to another
eligible node, if any.
When a lower priority package fails over to another node on which the higher priority
package with mutually exclusive dependency is running, the lower priority package fails
to start.
If you start a package manually using cmrunpkg command on a node on which another
mutually exclusive package is running, then cmrunpkg command fails with the following
message:
Unable to execute command. Package <pkg_1> a same node exclusionary
dependency on package <pkg_2>
cmrunpkg: Unable to start some package or package instances
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 188) is
configured_node.
4.9.7.4.2 Rules for different_node and any_node Dependencies
These rules apply to packages whose dependency_condition is UP and whose
dependency_location is different_node or any_node. For same-node dependencies,
see Simple Dependencies (page 111); for exclusionary dependencies, see “Rules for Exclusionary
Dependencies” (page 116).
Both packages must be failover packages whose failover_policy (page 188) is
configured_node.
The priority (page 189) of the package depended on must be higher than or equal to the
priority of the dependent package and the priorities of that package's dependents.
For example, if pkg1 has a different_node or any_node dependency on pkg2,
pkg2's priority must be higher than or equal to pkg1's priority and the priority of any
package that depends on pkg1 to be UP. pkg2's node order dominates when
Serviceguard is placing the packages.
A package cannot depend on itself, directly or indirectly.
For example, not only must pkg1 not specify itself in the dependency_condition (page 190),
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.
“Dragging” rules apply. See “Dragging Rules for Simple Dependencies” (page 113).
4.9.8 What Happens When a Package Fails
This discussion applies to packages that have dependents, or are depended on, or both (UP
dependencies only). When such a package fails, Serviceguard does the following:
1. Halts the packages that depend on the failing package, if any.
Serviceguard halts the dependent packages (and any packages that depend on them, etc.)
This happens regardless of the priority of the failed package.
NOTE: Dependent packages are halted even in the case of different_node or any_node
dependency. For example, if pkg1 running on node1 has a different_node or any_node
dependency on pkg2 running on node2, and pkg2 fails over to node3, pkg1 will be halted
and restarted as described below.
4.9 Package Configuration Planning 117