Managing HP Serviceguard A.11.20.20 for Linux, March 2014

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 115).
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 113).
7.6.1.3 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
running, though it must use the same Serviceguard release and patch version as the system on
which you run cmeval.
Use cmeval rather than command preview mode when you want to see more than the effect of
a single command, and especially when you want to see the results of large-scale changes, or
changes that may interact in complex ways, such as changes to package priorities, node order,
dependencies and so on.
Using cmeval involves three major steps:
1. Use cmviewcl -v -f line to write the current cluster configuration out to a file.
2. Edit the file to include the events or changes you want to preview
3. Using the file from Step 2 as input, run cmeval to preview the results of the changes.
For example, assume that pkg1 is a high-priority package whose primary node is node1, and
which depends on pkg2 and pkg3 to be running on the same node. These lower-priority-packages
are currently running on node2. pkg1 is down and disabled, and you want to see the effect of
enabling it.
In the output of cmviewcl -v -f line, you would find the line
package:pkg1|autorun=disabled and change it to package:pkg1|autorun=enabled.
You should also make sure that the nodes the package is configured to run on are shown as
available; for example: package:pkg1|node:node1|available=yes. Then save the file (for
example, as newstate.in) and run cmeval:
cmeval -v newstate.in
You would 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
7.6 Reconfiguring a Cluster 227