Documentation forKiwi CatTools

Meta Commands

Meta Commands are a subset of CatTools Meta Data. They are used to tell CatTools to perform a piece of internal functionality at a particular point in an activity.

Available Meta Commands

Meta Command Description
%ctDB

Updates the CatTools Device table which holds the properties for each device.

See the Device Table section for a list of the device fields you can update.

%ctUM: EchoOff Sets a flag so commands are sent without waiting for an echo back of the command.
%ctUM: EchoOn Sets a flag so commands are sent and wait for an echo back of the command.
%ctUM: Timeout

Sets the maximum time to wait for the response to a command.

%ctUM: PauseTime Sets a period to wait before sending a command.

%ctDB Command

The %ctDB meta command enables you to directly update a field in a table in the CatTools database as part of an Activity.

Syntax

%ctDB:tablename:fieldname:new field value
  • tablename is the name of the table in the database you wish to update a field in.
  • fieldname is the name of the field you wish to update. See the Device Table section for a list of fields.

The new field value is the content you wish to place into the database field. This value may contain a colon, :, in the content as the command parser only looks for the first three colons as separators.

For instance, you may wish to change the password for devices on the remote authentication server. This would be done on the server itself, and CatTools would not be aware that the password has changed.

You can set up a Device.CLI.Send commands activity with a meta command that changes the password in the CatTools database for the selected devices:

%ctDB:Device:AAAPassword:thenewpassword

In this case, you need to enter only the one meta command as the commands for the Device.CLI. Send commands activity. When the activity runs, it sets the AAAPassword field of the Device table to "thenewpassword" for all the selected devices. CatTools would then use this new password whenever it needed to login to one of the devices.

You might also use this type of command if you were setting up the local username and password properties on a set of devices. Place the meta commands to update the CatTools database fields after the device commands that set the properties on the devices. SolarWinds recommends that you select the option to Stop on error in this situation to ensure that CatTools does not have a field set if the device command does not complete successfully.

In a Device.CLI.Modify Config activity you might enter the command: username joe password fred... to set a local username and password. You could use the meta commands to update the CatTools database to reflect these changes:

%ctDB:Device:AAAUsername:joe
%ctDB:Device:AAAPassword:fred

CatTools now knows to use these values when logging into the device in future.

Device Table

List of the fields that can be updated in the Device table using the %ctDB meta command:

Field Name Max Size - characters
HostAddress 255
Filename 255
Model 255
Telnet 255
TelnetPort 255
Session 255
VTYPass 255
ConsolePass 255
EnablePass 255
PrivilegeLevel 255
AAAUsername 255
AAAPassword 255
SNMPRead 255
SNMPWrite 255
RequireVTYLogin 255
LoginUsesAAA 255
EnableUsesAAA 255
VTYPrompt 255
ConsolePrompt 255
EnablePrompt 255
AAAUserPrompt 255
AAAPassPrompt 255
Address1 >255
Address2

>255

Address3

>255

ContactName

>255

ContactPhone

>255

ContactEmail

>255

ContactOther

>255

AlertEmail

>255

While all the fields are character format fields, some, such as RequireVTYLogin, LoginUsesAAA, and EnableUsesAAA, contain numbers to indicate whether they are on or off. 0 is off, 1 is on.

%ctUM

The %ctUM meta commands enable you to set various options for use in the Device.CLI.Send commands and Device.CLI.Modify Config activities.

Commands

%ctUM: EchoOff

Normally when commands are sent out, CatTools waits for an echo of that command before proceeding. Some commands do not produce an echo, so the activity fails at this point. Password changing activities are notorious for this.

The %ctUM: EchoOff command tells CatTools to send out the next command in this activity without waiting for an echo.

%ctUM: EchoOn

Although in some cases it is necessary to switch of the echoing of commands it is advisable to switch echoing back on as soon as possible. By waiting for an echo of commands CatTools can better synchronize data sent and received from the device minimizing the scope for errors.

The %ctUM: EchoOn command tells CatTools to wait for an echo of any further commands during this activity.

%ctUM:Timeout xx

When waiting for a response to a command CatTools waits for a default time of 30 seconds. Some commands on devices take longer than this to respond. The %ctUM: Timeout XX command allows you to specify the time to wait for a response for all subsequent commands for this activity.

For example, you may want to set the timeout for the show version command to 50 seconds, to do this you should perform the following:

%ctUM: Timeout 50
show version
%ctUM: Timeout 0

Note: the use of the command with a zero value - %ctUM: Timeout 0 - sets the timeout back to the default value of 30 seconds.

%ctUM:PauseTime xx

This causes CatTools to pause for the specified time in seconds before issuing the next command. The maximum time that can be specified is 3600.

For example, the commands below issues a ping, waits for 50 seconds, and then issues another ping:

ping 127.0.0.1
%ctUM: PauseTime 50
ping 127.0.0.1