HP Serviceguard for Linux Version A.11.19 Release Notes, July 2009

IMPORTANT: Although cross-subnet topology can be implemented on a single site,
it is most commonly used by extended-distance clusters. For more information about
such clusters, see the latest edition of HP Serviceguard Extended Distance Cluster for Linux
Deployment Guide.
Migrating Legacy to Modular Packages
A new Serviceguard command, cmmigratepkg, first introduced in a patch to A.11.18,
automates the process of migrating legacy packages to modular packages as far as
possible. Many, but not all, packages can be migrated in this way; for details, see the
white paper Migrating Packages from Legacy to Modular Style at http://docs.hp.com
->High Availability ->Serviceguard ->White papers.
NOTE: The cmmigratepkg command requires Perl version 5.8.5 or higher on the
system on which you run the command. It should already be on the system as part of
the Linux distribution.
Other Package Changes
The patches listed under “New Features First Introduced in Serviceguard for Linux
A.11.18 Patches” (page 27) provide the following new capabilities:
Serviceguard now supplies information explaining why a package has shut down.
Serviceguard will set the new environment variable SG_HALT_REASON to one
of the following values when the package halts:
failure - set if the package halts because of the failure of a resource or service
it depends on
user_halt - set if the package is halted by a cmhaltpkg or cmhaltnode
command, or by corresponding actions in Serviceguard Manager
automatic_halt - set if the package is failed over automatically because of
the failure of a package it depends on, or is failed back to its primary node
automatically (failback_policy = automatic)
You can add custom code to the package to interrogate this variable, determine
why the package halted, and take appropriate action. For legacy packages, put
the code in the customer_defined_halt_cmds() function in the CUSTOMER
DEFINED FUNCTIONS area of the package control script; for modular packages,
put the code in the package’s external script (see About External Scripts” in
chapter 4 of Managing Serviceguard for Linux).
For example, if a database package is being halted by an administrator
(SG_HALT_REASON set to user_halt) you would probably want the custom
code to perform an orderly shutdown of the database; on the other hand, a
forced shutdown might be needed if SG_HALT_REASON is set to failure,
Features Introduced Before A.11.19 31