A.0 Sample Orchestration Agent CIB XML

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:

The following events occur in this scenario:

  1. The HAE cluster moves the Orchestration Agent instance from host1 to host2.

  2. 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 Shutdown action is run on vm2:

  1. An Orchestration Server job kills the agent instance on host2.

  2. 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.

XML Sample with Resource-Stickiness Setting

<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>