Managing HP Serviceguard A.11.20.10 for Linux, December 2012

Process IDs of the services
Subnets configured for monitoring in the package configuration file
Generic resources configured for monitoring in the package configuration file
If a service fails but the restart parameter for that service is set to a value greater than 0, the service
will restart, up to the configured number of restarts, without halting the package.
During normal operation, while all services are running, you can see the status of the services in
the “Script Parameters” section of the output of the cmviewcl command.
3.4.7 When a Service or Subnet Fails or Generic Resource or a Dependency is Not
Met
What happens when something goes wrong? If a service fails and there are no more restarts, or
if a configured dependency on another package is not met, then a failover package will halt on
its current node and, depending on the setting of the package switching flags, may be restarted
on another node. If a multi-node or system multi-node package fails, all of the packages that have
configured a dependency on it will also fail.
Package halting normally means that the package halt script executes (see the next section).
However, if a failover package’s configuration has the service_fail_fast_enabled flag
(page 178) set to yes for the service that fails, then the node will halt as soon as the failure is
detected. If this flag is not set, the loss of a service will result in halting the package gracefully by
running the halt script.
If auto_run (page 170) is set to yes, the package will start up on another eligible node, if it meets
all the requirements for startup. If auto_run is set to no, then the package simply halts without
starting up anywhere else.
NOTE: If a package is dependent on a subnet, and the subnet on the primary node fails, the
package will start to shut down. If the subnet recovers immediately (before the package is restarted
on an adoptive node), the package manager restarts the package on the same node; no package
switch occurs.
3.4.8 When a Package is Halted with a Command
The Serviceguard cmhaltpkg command has the effect of executing the package halt script, which
halts the services that are running for a specific package. This provides a graceful shutdown of
the package that is followed by disabling automatic package startup (see auto_run (page 170)).
You cannot halt a multi-node or system multi-node package unless all the packages that have a
configured dependency on it are down. Use cmviewcl to check the status of dependents. For
example, if pkg1 and pkg2 depend on PKGa, both pkg1 and pkg2 must be halted before you
can halt PKGa.
NOTE: If you use cmhaltpkg command with the -n <nodename> option, the package is
halted only if it is running on that node.
The cmmodpkg command cannot be used to halt a package, but it can disable switching either
on particular nodes or on all nodes. A package can continue running when its switching has been
disabled, but it will not be able to start on other nodes if it stops running on its current node.
3.4.9 During Halt Script Execution
Once the package manager has detected the failure of a service or package that a failover package
depends on, or when the cmhaltpkg command has been issued for a particular package, the
package manager launches the halt script. That is, a package’s control script or master control
script is executed with the stop parameter. This script carries out the following steps (also shown
in Figure 21) :
56 Understanding Serviceguard Software Components