Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Current »

Device CLI connection timeout and inter-connection delay

By default, Unimus uses 10 second timeouts for SSH / Telnet connections. This means that if your device takes longer than 10 second to establish an SSH / Telnet session, Unimus will not connect to it (fail the connection attempt). This timeout is controlled by the unimus.core.connect-timeout setting.

During device Discovery (more info here), Unimus will establish multiple consecutive sessions to a device to test credentials (unless credential binding is used). Unimus waits 500 ms between session establishments by default. Especially for older / slower devices, or for purposes of slowing down device logins due to load on a central AAA system, it can be beneficial to increase this inter-connection delay. This delay is controlled by the unimus.core.inter-connection-delay setting.

Finally, during device login in certain cases Unimus needs to validate the device prompt - to be sure that the login to the device was successful. In cases this is needed, Unimus has a set duration for each of these checks. This duration should normally NOT be changed by the user - please only change this setting if asked to by our support. This is controlled by the unimus.core.login-prompt-validation-limit setting.

Data retrieval from the CLI

For device CLI communication / interaction, timeouts depend on the format of output from the device. Many devices output in 'paged' format - output is separated into multiple pages, each ending in a " – More – " or similar message and requires some key to be sent to continue. Unimus fully supports this for all devices on our Supported vendors/devices list.

For devices that use paging, Unimus uses a 20 second timeout after sending a command to wait for a device to respond with pagination or a prompt. Each page has its own 20 second timeout. For example, if the device takes longer than 20 seconds to finish outputting a response or offer pagination to a 'show version' command on Cisco IOS, Unimus will consider this a timeout. This is controlled by the unimus.core.cli-expect-timeout setting.

For devices that do not output using paging, Unimus uses a 75 second timeout. So for devices without paging, they need to output the full output for a command and return a prompt in under 75 seconds, or Unimus considers the operation failed. This is controlled by the unimus.core.max-backup-timeout setting. Please note some of our drivers for devices we support apply a multiplier to this value. This timeout should normally NOT be changed by the user - please only change this setting if asked to by our support.

All of these values can be adjusted. Please note some device drivers use a multiplier for these values, please check the TODO article for more information.

On Linux (Debian/Ubuntu):

Edit the contents of /etc/default/unimus. All settings in this file should be on the same line.

Add these settings into the file:

-Dunimus.core.connect-timeout=20000 -Dunimus.core.inter-connection-delay=1000 -Dunimus.core.cli-expect-timeout=30000

Insert proper values behind each configuration argument (in milliseconds).

Restart Unimus to apply the new timeouts.

On Windows:

For portable:
Create a file named Unimus.l4j.ini in the same directory as the Unimus executable.
Change Unimus in the above file name to exactly match the name of the Unimus executable.

For installer:
Add the below lines to Unimus.l4j.ini in 'C:\Program Files\Unimus\'.

Inside of this configuration file, please add the following lines:

-Dunimus.core.connect-timeout=20000
-Dunimus.core.inter-connection-delay=1000
-Dunimus.core.cli-expect-timeout=30000

Please make sure to place each argument into its own line.
Insert proper values behind each configuration argument (in milliseconds).

Restart Unimus to apply the new timeouts.

  • No labels