Managing HP Serviceguard for Linux, Seventh Edition, July 2007

Understanding Serviceguard Software Components
How Packages Run
Chapter 3 63
the package is running. If a number of Restarts is specified for a service
in the package control script, the service may be restarted if the restart
count allows it, without re-running the package run script.
Normal and Abnormal Exits from the Run Script
Exit codes on leaving the run script determine what happens to the
package next. A normal exit means the package startup was successful,
but all other exits mean that the start operation did not complete
successfully.
0—normal exit. The package started normally, so all services are up
on this node.
1—abnormal exit, also known as no_restart exit. The package did
not complete all startup steps normally. Services are killed, and the
package is disabled from failing over to other nodes.
2—alternative exit, also known as restart exit. There was an error,
but the package is allowed to start up on another node. You might
use this kind of exit from a customer defined procedure if there was
an error, but starting the package on another node might succeed. A
package with a restart exit is disabled from running on the local
node, but can still run on other nodes.
Timeout—Another type of exit occurs when the
run_script_timeout is exceeded. In this scenario, the package is
killed and disabled globally. It is not disabled on the current node,
however. The package script may not have been able to clean up some
of its resources such as LVM volume groups, VxVM disk groups or
package mount points, so before attempting to start up the package
on any node, be sure to check whether any resources for the package
need to be cleaned up.
Service Startup with cmrunserv
Within the package control script, the cmrunserv command starts up the
individual services. This command is executed once for each service that
is coded in the file. You can configure a number of restarts for each
service. The cmrunserv command passes this number to the package
manager, which will restart the service the appropriate number of times
if the service should fail. The following are some typical settings in a