Managing HP Serviceguard for Linux Ninth Edition, April 2009

For further discussion and use cases, see the white paper Using Serviceguard’s Node
Capacity and Package Weight Feature on docs.hp.com under High Availability
> Serviceguard > White Papers.
How Package Weights Interact with Package Priorities and Dependencies
If necessary, Serviceguard will halt a running lower-priority package that has weight
to make room for a higher-priority package that has weight. But a running package
that has no priority (that is, its priority is set to the default, no_priority) will not be
halted to make room for a down package that has no priority. Between two down
packages without priority, Serviceguard will decide which package to start if it cannot
start them both because there is not enough node capacity to support their weight.
Example 1
pkg1 is configured to run on nodes turkey and griffon. It has a weight of 1
and a priority of 10. It is down and has switching disabled.
pkg2 is configured to run on nodes turkey and griffon. It has a weight of 1
and a priority of 20. It is running on node turkey and has switching enabled.
turkey and griffon can run one package each (package_limit is set to 1).
If you enable switching for pkg1, Serviceguard will halt the lower-priority pkg2 on
turkey. It will then start pkg1 on turkey and restart pkg2 on griffon.
If neither pkg1 nor pkg2 had priority, pkg2 would continue running on turkey and
pkg1 would run on griffon.
Example 2
pkg1 is configured to run on nodes turkey and griffon. It has a weight of 1
and a priority of 10. It is running on node turkey and has switching enabled.
pkg2 is configured to run on nodes turkey and griffon. It has a weight of 1
and a priority of 20. It is running on node turkey and has switching enabled.
pkg3 is configured to run on nodes turkey and griffon. It has a weight of 1
and a priority of 30. It is down and has switching disabled.
pkg3 has a same_node dependency on pkg2
turkey and griffon can run two packages each (package_limit is set to 2).
If you enable switching for pkg3, it will stay down because pkg2, the package it depends
on, is running on node turkey, which is already running two packages (its capacity
limit). pkg3 has a lower priority than pkg2, so it cannot drag it to griffon where
they both can run.
About External Scripts
As of Serviceguard A.11.18, the package configuration template for modular packages
explicitly provides for external scripts. These replace the CUSTOMER DEFINED
FUNCTIONS in legacy scripts and can be run either:
Package Configuration Planning 137