The following XML is from the file /opt/novell/zenworks/orch/bin/ha/cluster_zos_agent.xml. It can be used as an example of how to configure the Orchestration Agent within a SLES 11 SP2 HAE cluster. You must replace the $CONFIG_ZOS_AGENT_CLUSTER_IP string with a valid cluster IP address (this is what the zos_agent_ha_resource_group.sh script does).
The resource-stickiness setting of +INFINITY causes the Orchestration Agent to prefer the cluster node where it is currently running, unless a failover occurs (the agent does not continually migrate as the cluster attempts to balance the load).
For example, consider the following scenario:
An instance of the Orchestration Agent is running on host1
A VM (designated “vm1”) is running on host1
You provision another VM (designated as “vm2”) to host1.
The following events occur in this scenario:
The HAE cluster moves the Orchestration Agent instance from host1 to host2.
Moving the agent causes the provision job to cancel/fail and the agent to disconnect/log in again to the server.
In this same scenario, the reverse happens if the action is run on vm2:
An Orchestration Server job kills the agent instance on host2.
The HAE cluster moves the agent instance from host2 to host1.
The resource-stickiness setting solves this issue. However, it would also be sufficient to add a resource location constraint on the Orchestration Agent, which would cause it to prefer a desired node in the cluster with a score of +INFINITY.
<group id="novell-zosagent-group">
<primitive class="ocf" id="novell-zosagent-ip" provider="heartbeat"
type="IPaddr">
<operations id="novell-zosagent-ip-operations">
<op id="novell-zosagent-ip-op-monitor-5s" interval="5s"
name="monitor" timeout="20s"/>
</operations>
<instance_attributes id="novell-zosagent-ip-instance_attributes">
<nvpair id="novell-zosagent-instance_attributes-ip" name="ip"
value="151.155.169.78"/>
<nvpair id="novell-zosagent-instance_attributes-cidr_netmask"
name="cidr_netmask" value="255.255.252.0"/>
<nvpair id="novell-zosagent-instance_attributes-nic" name="nic"
value="br0"/>
</instance_attributes>
</primitive>
<primitive class="lsb" id="novell-zosagent" type="novell-zosagent">
<meta_attributes id="novell-zosagent-meta_attributes">
<nvpair id="novell-zosagent-meta_attributes-resource-stickiness"
name="resource-stickiness" value="+INFINITY"/>
</meta_attributes>
<operations id="novell-zosagent-operations">
<op id="novell-zosagent-op-monitor-15" interval="15" name="monitor"
start-delay="15" timeout="15"/>
</operations>
</primitive>
<meta_attributes id="zos-agent-group-meta_attributes">
<nvpair id="zos-agent-group-meta_attributes-target-role"
name="target-role" value="started"/>
</meta_attributes>
</group>