Managing HP Serviceguard for Linux, Seventh Edition, July 2007

Planning and Documenting an HA Cluster
Package Configuration Planning
Chapter 4122
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.
Each external script must have three entry points: start, stop, and
validate, and should exit with one of the following values:
0 - indicating success.
1 - indicating the package will be halted, and should not be
restarted, as a result of failure in this script.
2 - indicating the package will be restarted on another node, or
halted if no other node is available.
NOTE In the case of the validate entry point, exit values 1 and 2 are treated
the same; you can use either to indicate that validation failed.
The script can make use of a standard set of environment variables
(including the package name, SG_PACKAGE, and the name of the local
node, SG_NODE) exported by the package manager or the master control
script that runs the package; and can also call a function to source in a
logging function and other utility functions. One of these functions,
sg_source_pkg_env(), provides access to all the parameters configured
for this package, including package-specific environment variables
configured via the pev_ parameter (see page 214).
For more information, see the template in
$SGCONF/examples/external_script.template.
External scripts can be run either:
On package startup and shutdown, as essentially the first and last
functions the package performs. These scripts are invoked by means
of the parameter external_pre_script (see page 215); or
During package execution, after volume-groups and file systems are
activated, and IP addresses are assigned, and before the service and
resource functions are executed; and again, in the reverse order, on
package shutdown. These scripts are invoked by means of the
parameter external_script (see page 215).