Configure actions

The <actions> section of the oobc.properties.xml file contains the elements that describe the different synchronization actions that can be invoked.

XML Syntax

The following example shows the XML code for the <actions> element:

<actions>
<action name="Reload" uowPriority="HIGH" priority="1">
<className>com.intelliden.oobc.impl.ReloadAction</className>
<properties>
<property name="overrideConflicts" value="true"/>
<property name="secondsBetweenUOWs" value="30"/>
<property name="realmPath" value="capstonec/commandsets"/>
<property name="commandSetName" value="SetupSyslog"/>
</properties>
</action>
</actions>

Description

The <actions> section of the oobc.properties.xml file contains the elements that describe the different synchronization actions that can be invoked. As 'Out-Of-Band' changes occur, some 'action' must occur to synchronize ITNCM - Base with the network device. The types of synchronization actions that can occur will be described within individual <action> elements.

The following table describes the XML elements specified within the <actions> section of the oobc.properties.xml file:

Table 1.
XML element Description

<action>

Describes a synchronization action that c an be invoked for an 'Out-Of-Band' change. This element contains both a name and priority attribute. The name attribute is an identifier for this action that is referred to by the actionName attribute of the <log-pattern> element.

Since multiple 'Out-Of-Band' changes get rolled up into a single 'rollup event' and that single event could potentially have multiple action references, the priority attribute of the <action> element is used to determine which action should be taken. Each action should have a unique priority number with a priority of 1 being the highest priority action.

<className>

The fully qualified package/class name of the Java class that implements the OutOfBandAction interface. You can write your own implementation or use one of three implementations that are provided for you under the com.intelliden.oobc.impl package.

<properties>

The various pluggable classes that implement the OutOfBandAction interface could require specific initialization parameters. These are specified in the <properties> section with zero or more <property> elements.

<property>

A <property> element has both a name and name attribute for specifying an initialization parameter to an action class.

There are three implementations of the OutOfBandAction interface provided for you and all reside within the com.intelliden.oobc.impl package. The first OutOfBandAction implementation class is SynchronizeFromDevice, which as its name implies executes the ConfigurationSynchronizationWork UOW with a synchronization direction of 'from device'. This UOW has the behavior of pulling the devices configuration and updating ITNCM - Base.

The second action class is Import which executes the NetworkResourceImportWork UOW. This has nearly identical behavior as the SynchronizeFromDevice action class except that it also extracts the latest vendor, type, model, and OS values from the device to populate into ITNCM - Base.

The third action class is Reload. This class first invokes the ImportNetworkResource UOW followed by the CommandSetWork UOW. This action class requires three initialization parameters as follows:

<property name="secondsBetweenUOWs" value="30"/>
<property name="realmPath" value="capstonec/commandsets"/>
<property name="commandSetName" value="SetupSyslog"/>

The secondsBetweenUOWs property specifies the number of seconds to wait between the scheduled start times of the ImportNetworkResource UOW and the CommandSetWork UOW. The realmPath is a slash "/" separated list of realm names to traverse to find the command set. The commandSetName is the command set that should be invoked by this action.

Handling work conflicts

By default, ITNCM - Base will reject UOWs (Units of Work) submitted against devices with other UOWS pending or executing. The OOBC software can be configured to override this behavior. To allow UOWs to be submitted against devices with pending work, add the overrideConflicts property with a value of true to the action representing the type of UOW you wish to submit. For example:

<action name="Import" priority="2">
<className>com.intelliden.oobc.impl.ImportFromDevice</className>
<properties>
<property name="someproperty" value="somevalue"/>
<property name="overrideConflicts" value="true"/>
<property name="someotherproperty" value="someothervalue"/>
</properties>
</action>