There are a number of issues that could cause a timeout error in an adapter. Some of the most common are:
- An actual timeout. Make sure that your commands are not running for longer than the command timeout. For example, if a command takes five minutes to run but the adapter is set to timeout after one minute, a timeout error will occur.
- Poor connectivity. If the adapter can not sustain a connection to its target system, it may throw an error message.
- An incorrect prompt. Terminal adapters know that a command has finished based on their prompt. If your prompt is listed as a hash sign (#) but the prompt on the system is a greater-than sign (>), the adapter will reach its timeout looking for the incorrect prompt.
- Interruption by exit codes. By default, certain adapters use silent commands to get an exit code after every command they send, which interrupts dialogs like password entry. The console expects the old password, but the adapter sends its exit code command, which the console rejects. This sends the console back to the normal prompt, and the next command is run as a normal command rather than as a password, which fails. The adapter waits for the wrong prompt and eventually times out. This can be resolved by adding the parameter "ignore-exit-code"=true to the commands in the command set. Further information on this parameter is available in the BMC Atrium Orchestrator Base Adapters Guide.
- A long amount of time with no information from the target. Terminal adapters expect to receive information from the target system during the command. If the command runs for a long time without sending anything back to the adapter, the adapter assumes that the connection has gone stale and ends with a timeout error. Examples include a long-running sleep command, commands that take a while to compile information before displaying it, or anything that can run for more than 59 seconds with no text. This can be resolved by using the parameter <establish-connection-timeout-secs> and setting it to your timeout value. Because this parameter covers the time to connect to the target, it also covers that time is uses to test whether the connection is still valid mid-command, so increasing this value will increase the time the adapter will wait with no response before terminating the connection.
If none of these appear to be the problem in your system, please contact Customer Support with the details of your issue.
- BMC Atrium Orchestrator Base Adapters