Managing Serviceguard Nineteenth Edition, Reprinted June 2011

Availability of package subnets, EMS resources, and storage
Changes in package priority, node order, dependency, failover and failback policy, node
capacity and package weight
Using Preview mode for Commands and in Serviceguard Manager
The following commands support the -t option, which allows you to run the command in preview
mode:
cmhaltnode [t] [f] <node_name>
cmrunnode [t] <node_name>
cmhaltpkg [t] <package_name>
cmrunpkg [t] [-n node_name] <package_name>
cmmodpkg { -e [-t] | -d } [-n node_name] <package_name>
cmruncl v [t]
NOTE: You cannot use the -t option with any command operating on a package in maintenance
mode; see “Maintaining a Package: Maintenance Mode” (page 273).
For more information about these commands, see their respective manpages. You can also perform
these preview functions in Serviceguard Manager: check the Preview [...] box for the action
in question.
When you use the -t option, the command, rather than executing as usual, predicts the results
that would occur, sending a summary to $stdout. For example, assume that pkg1 is a high-priority
package whose primary node is node1, and which depends on pkg2 and pkg3 to run on the
same node. These are lower-priority packages which are currently running on node2. pkg1 is
down and disabled, and you want to see the effect of enabling it:
cmmodpkg -e -t pkg1
You will see output something like this:
package:pkg3|node:node2|action:failing
package:pkg2|node:node2|action:failing
package:pkg2|node:node1|action:starting
package:pkg3|node:node1|action:starting
package:pkg1|node:node1|action:starting
cmmodpkg: Command preview completed successfully
This shows that pkg1, when enabled, will “dragpkg2 and pkg3 to its primary node, node1. It
can do this because of its higher priority; see “Dragging Rules for Simple Dependencies (page 130).
Running the preview confirms that all three packages will successfully start on node2 (assuming
conditions do not change between now and when you actually enable pkg1, and there are no
failures in the run scripts).
NOTE: The preview cannot predict run and halt script failures.
For more information about package dependencies and priorities, see About Package
Dependencies” (page 128).
Using cmeval
You can use cmeval to evaluate the effect of cluster changes on Serviceguard packages. You can
also use it simply to preview changes you are considering making to the cluster as a whole.
You can use cmeval safely in a production environment; it does not affect the state of the cluster
or packages. Unlike command preview mode (the -t discussed above) cmeval does not require
you to be logged in to the cluster being evaluated, and in fact that cluster does not have to be
280 Cluster and Package Maintenance