F5 BIG-IP (tmsh based, v11 and later)

This is an update of the F5 BIG-IP template posted by Chris some time ago. From V11, bigpipe commands are no longer supported and tmsh must be used.

Please take a look at the original post to make the template work in the way you need.

  • No I left the enable password empty and the enable password was entered in the device template. Here's a link to the device template that worked for me. BIG-IP 11.5-1.3.6.1.4.1.3375.ConfigMgmt-Commands

  • Did adding the enable password resolve the problem or not?

    Jiri

  • For anyone interested I used the device template from here...F5 BIG-IP (tmsh based, v11 and later)

    and as stated created a user profile but did not add an enable password like so

    noen.png

  • I'm trying to download running config from a BIG IP 11.5.1 but keep getting a variety of errors  I've tried adding <Command Name="DownloadConfig" Value="show running-config all-properties{CRLF}y"/> to the device template above Jiri Cvachovec created F5_BIG-IP-1.3.6.1.4.1.3375.ConfigMgmt-Commandsbut still no joy. I've tried all below

    • <Command Name="DownloadConfig" Value="show running-config all-properties{CRLF}y"/>
    • <Command Name="DownloadConfig" Value="tmsh -q show running-config"/>
    • <Command Name="DownloadConfig" Value="show running-config"/>


    See below for session trace for each command@@@@@@@@@ !...any ideas?

    Here's my device template...

    <!--SolarWinds Network Management Tools-->

    <!--Copyright 2005 SolarWinds.Net All rights reserved-->

    <Configuration-Management Device="F5" SystemOID=" 1.3.6.1.4.1.3375">

            <Commands>

                    <Command Name="RESET" Value=""/>

                    <Command Name="Reboot" Value=""/>

                    <Command Name="RebootAt" Value=""/>

                    <Command Name="EnterConfigMode" Value=""/>

                    <Command Name="ExitConfigMode" Value=""/>

                    <Command Name="Startup" Value="list"/>

                    <Command Name="Running" Value="list"/>

                    <Command Name="DownloadConfig" Value="show running-config all-properties{CRLF}y"/>

                    <Command Name="UploadConfig" Value=""/>

                    <Command Name="DownloadConfigIndirect" Value=""/>

                    <Command Name="UploadConfigIndirect" Value=""/>

                    <Command Name="EraseConfig" Value=""/>

                    <Command Name="SaveConfig" Value="tmsh save"/>

                    <Command Name="Version" Value="tmsh show sys version"/>

            </Commands>

    </Configuration-Management>

    And here's the session traces...

    #1 with device template including <Command Name="DownloadConfig" Value="show running-config all-properties{CRLF}y"/>

    [29/10/2015 14:23:17] Logged into Enable Mode

    [29/10/2015 14:23:17] <--

    [29/10/2015 14:23:17] -->

    [29/10/2015 14:23:17] --> 31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:23:17] Start check prompt for menu-based device

    [29/10/2015 14:23:17] Process Line = <>

    [29/10/2015 14:23:17] Process Line = <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:23:17] Fuzzy match detector start detecting prompt. String1=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)# String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:23:17] <-- show running-config all-properties{CRLF}y

    [29/10/2015 14:23:17] --> show running-config all-properties{CRLF}y

    [29/10/2015 14:23:17] -->

    [29/10/2015 14:23:17] Complete buffer is detected - save all lines to echo buffer

    [29/10/2015 14:23:17] Echo not detected yet. Push back data to echo buffer, EchoBuffer = <<<show running-config all-properties{CRLF}y

    >>>

    [29/10/2015 14:23:17] Start detecting command echo in echo buffer...

    [29/10/2015 14:23:17] Echo is detected, EchoBuffer = <<<show running-config all-properties{CRLF}y

    >>>

    [29/10/2015 14:23:17] Remove Prompt - prompt not found via RegEx

    [29/10/2015 14:23:17] Echo and prompt are removed if they exist, out buffer = <<<>>>

    [29/10/2015 14:23:17] Start check prompt for menu-based device

    [29/10/2015 14:23:17] --> Syntax Error: unexpected argument "{"

    [29/10/2015 14:23:17] --> 3

    [29/10/2015 14:23:17] Start check prompt for menu-based device

    [29/10/2015 14:23:17] Process Line = <Syntax Error: unexpected argument "{">

    [29/10/2015 14:23:17] Fuzzy match detector start detecting prompt. String1=syntaxerror:unexpectedargument"{" String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:23:17] Save Command Output: Syntax Error: unexpected argument "{"

    [29/10/2015 14:23:17] Process Line = <3>

    [29/10/2015 14:23:17] Fuzzy match detector start detecting prompt. String1=3 String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:23:17] Pushing back: <3>

    [29/10/2015 14:23:17] mPrompt is : <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:23:17] --->1624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:23:17] Start check prompt for menu-based device

    [29/10/2015 14:23:17] Process Line = <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:23:17] Fuzzy match detector start detecting prompt. String1=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)# String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:23:17] SendNextCommand Done: Disconnecting

    [29/10/2015 14:23:19] TimerTick: mstrData=<31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# > State=3 - Connected to server - idle

    [29/10/2015 14:23:19] Pending Disconnect = True

    [29/10/2015 14:23:19] Disconnected - From: 10.9.x.x

    and when I used <Command Name="DownloadConfig" Value="tmsh -q show running-config"/>

    [29/10/2015 14:52:32] Logged into Enable Mode

    [29/10/2015 14:52:32] <--

    [29/10/2015 14:52:32] -->

    [29/10/2015 14:52:32] --> 31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:52:32] Start check prompt for menu-based device

    [29/10/2015 14:52:32] Process Line = <>

    [29/10/2015 14:52:32] Process Line = <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:52:32] Fuzzy match detector start detecting prompt. String1=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)# String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:52:32] <-- tmsh -q show running-config

    [29/10/2015 14:52:32] --> tmsh -q show running-config

    [29/10/2015 14:52:32] --> Syntax Error: unexpected argument "tmsh"

    [29/10/2015 14:52:32] --> 31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:52:32] Incomplete buffer with prompt is detected - save all lines to echo buffer

    [29/10/2015 14:52:32] Echo not detected yet. Push back data to echo buffer, EchoBuffer = <<<tmsh -q show running-config

    Syntax Error: unexpected argument "tmsh"

    31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    >>>

    [29/10/2015 14:52:32] Start detecting command echo in echo buffer...

    [29/10/2015 14:52:32] Echo is detected, EchoBuffer = <<<tmsh -q show running-config

    Syntax Error: unexpected argument "tmsh"

    31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    >>>

    [29/10/2015 14:52:32] Remove Prompt - detected prompt line via RegEx

    [29/10/2015 14:52:32] Remove Prompt - prompt line is on invalid place, Save It. value=tmsh -q show running-config

    Syntax Error: unexpected argument "tmsh"

    31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    FoundPromptLine=31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:52:32] Echo and prompt are removed if they exist, out buffer = <<<Syntax Error: unexpected argument "tmsh"

    31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    >>>

    [29/10/2015 14:52:32] Start check prompt for menu-based device

    [29/10/2015 14:52:32] Process Line = <Syntax Error: unexpected argument "tmsh">

    [29/10/2015 14:52:32] Fuzzy match detector start detecting prompt. String1=syntaxerror:unexpectedargument"tmsh" String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:52:32] Save Command Output: Syntax Error: unexpected argument "tmsh"

    [29/10/2015 14:52:32] Process Line = <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:52:32] Fuzzy match detector start detecting prompt. String1=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)# String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:52:32] SendNextCommand Done: Disconnecting

    [29/10/2015 14:52:32] Process Line = <>

    [29/10/2015 14:52:34] TimerTick: mstrData=<> State=3 - Connected to server - idle

    [29/10/2015 14:52:34] Pending Disconnect = True

    [29/10/2015 14:52:34] Disconnected - From: 10.9.x.x

    And when I used <Command Name="DownloadConfig" Value="show running-config"/>

    I can see Transfer Status: Downloading

    then Transfer Status: Connection refused

    Here's the trace from that session

    [29/10/2015 14:56:20] Logged into Enable Mode

    [29/10/2015 14:56:20] <--

    [29/10/2015 14:56:20] -->

    [29/10/2015 14:56:20] --> 31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)#

    [29/10/2015 14:56:20] Start check prompt for menu-based device

    [29/10/2015 14:56:20] Process Line = <>

    [29/10/2015 14:56:20] Process Line = <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:56:20] Fuzzy match detector start detecting prompt. String1=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)# String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:20] <-- show running-config

    [29/10/2015 14:56:20] --> show running-config

    [29/10/2015 14:56:20] -->

    [29/10/2015 14:56:20] Complete buffer is detected - save all lines to echo buffer

    [29/10/2015 14:56:20] Echo not detected yet. Push back data to echo buffer, EchoBuffer = <<<show running-config

    >>>

    [29/10/2015 14:56:20] Start detecting command echo in echo buffer...

    [29/10/2015 14:56:20] Echo is detected, EchoBuffer = <<<show running-config

    >>>

    [29/10/2015 14:56:20] Remove Prompt - prompt not found via RegEx

    [29/10/2015 14:56:20] Echo and prompt are removed if they exist, out buffer = <<<>>>

    [29/10/2015 14:56:20] Start check prompt for menu-based device

    [29/10/2015 14:56:21] --->Display all 234 items? (y/n)

    [29/10/2015 14:56:21] Start check prompt for menu-based device

    [29/10/2015 14:56:21] Process Line = <Display all 234 items? (y/n) >

    [29/10/2015 14:56:21] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:21] Pushing back: <Display all 234 items? (y/n) >

    [29/10/2015 14:56:21] mPrompt is : <31624@(gamcsext1)(cfg-sync Standalone)(Active)(/Common)(tmos)# >

    [29/10/2015 14:56:22] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:22] Pending Disconnect = False

    [29/10/2015 14:56:22] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:22] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:24] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:24] Pending Disconnect = False

    [29/10/2015 14:56:24] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:24] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:26] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:26] Pending Disconnect = False

    [29/10/2015 14:56:26] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:26] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:26] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:28] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:28] Pending Disconnect = False

    [29/10/2015 14:56:28] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:28] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:28] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:30] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:30] Pending Disconnect = False

    [29/10/2015 14:56:30] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:30] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:30] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:32] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:32] Pending Disconnect = False

    [29/10/2015 14:56:32] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:32] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:32] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:34] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:34] Pending Disconnect = False

    [29/10/2015 14:56:34] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:34] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:34] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:36] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:36] Pending Disconnect = False

    [29/10/2015 14:56:36] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:36] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:36] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:38] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:38] Pending Disconnect = False

    [29/10/2015 14:56:38] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:38] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:38] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:40] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:40] Pending Disconnect = False

    [29/10/2015 14:56:40] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:40] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:40] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:42] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:42] Pending Disconnect = False

    [29/10/2015 14:56:42] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:42] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:42] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:45] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:45] Pending Disconnect = False

    [29/10/2015 14:56:45] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:45] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:45] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:47] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:47] Pending Disconnect = False

    [29/10/2015 14:56:47] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:47] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:47] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:49] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:49] Pending Disconnect = False

    [29/10/2015 14:56:49] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:49] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:49] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:51] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:51] Pending Disconnect = False

    [29/10/2015 14:56:51] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:51] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:51] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:53] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:53] Pending Disconnect = False

    [29/10/2015 14:56:53] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:53] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:53] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:55] TimerTick: mstrData=<Display all 234 items? (y/n) > State=3 - Connected to server - idle

    [29/10/2015 14:56:55] Pending Disconnect = False

    [29/10/2015 14:56:55] Pre-Commands: Waiting more than 3 seconds for response start sending pre-command if any...

    [29/10/2015 14:56:55] Fuzzy match detector start detecting prompt. String1=displayall234items?(y/n) String2=31624@(gamcsext1)(cfg-syncstandalone)(active)(/common)(tmos)#

    [29/10/2015 14:56:55] TimerTick: Just tick-tockin away. ..

    [29/10/2015 14:56:56] Disconnected - From: 10.9.X.X

    cvachovecj

  • I tried that but it didn't work.

    I also played around with using Precommand and delay but that also didn't work.

    In the end I used the RESET command to set the preferences for the user login to show all objects and disable paging.  This does have a drawback in that it seems to make the BigIP believe that a change has occurred despite the Auditor role being assigned to the login.