Understanding Serviceguard Package Dependencies, April 2009

3
Configuration
The package parameters dependency_name, dependency_condition, and
dependency_location define package dependencies. You configure these parameters in the
configuration file of the dependent package. If you want pkg1 to depend on pkg2, you specify the
dependency in the configuration file for pkg1.
dependency_name specifies the name of the dependency. This must be unique among
dependency names specified by the package. For example, a dependency on pkg2 can be called
pkg2dep”.
dependency_condition describes what must be true for the dependency to be satisfied.
The syntax is:
<package name> = up
OR
<package name> = down
"up” means this package requires the package identified by "package name" to be up
(i.e. status reported by cmviewcl is "up").
"down" means that this package requires the package identified by "package name" to be down
(i.e. status reported by cmviewcl is "down"). This is known as an exclusionary dependency.
dependency_location describes where the dependency condition must be satisfied. This
parameter is optional. The default value is same_node. The legal values depend on the
dependency condition:
if dependency condition is “up”, the legal values are: same_node, any_node, and
different_node.
if dependency condition is “down”, the legal values are: same_node and all_nodes.
dependency_name and dependency_condition are required and dependency_location
is optional. These parameters must be specified in the order listed above.
A package can define only one dependency on another package. However a package can specify
dependencies on multiple packages. To specify a dependency on more than one package, you must
repeat these parameters for each dependency.
The names of these parameters are case insensitive (i.e. dependency_name and
DEPENDENCY_NAME are the same).
Notes:
An exclusionary dependency must be mutual. If pkg1 depends on pkg2 to
be down on the same node, pkg2 must also depend on pkg1 to be down
on the same node. This means that an exclusionary dependency must be
defined in the configuration files of both packages, and you must apply
both packages to the cluster configuration at the same time.
If a package has an exclusionary dependency on another package, at least
one of these packages must be assigned a numerical priority; the priority of
both packages cannot be “no_priority”.