Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

issues with Aruba CX templates #1453

Open
ryanmCUK opened this issue Aug 22, 2023 · 12 comments
Open

issues with Aruba CX templates #1453

ryanmCUK opened this issue Aug 22, 2023 · 12 comments

Comments

@ryanmCUK
Copy link

ryanmCUK commented Aug 22, 2023

Template Issue with error and raw data

Value Required LOCAL_PORT (\S+)
Value Required CHASSIS_ID (\S+)
Value CHASSIS_NAME (\S+)
Value CHASSIS_DESC (.+)
Value CAPABILITIES (.+)
Value CAPABILITIES_ENABLED (.+)
Value MGMT_ADDR (\S+)
Value PORT_ID (\S+)
Value PORT_DESC (\S+)

Start
^Port\s*:\s*${LOCAL_PORT}
^Neighbor\sChassis-Name\s:\s*${CHASSIS_NAME}
^Neighbor\sChassis-Description\s:\s*${CHASSIS_DESC}
^Neighbor\sChassis-ID\s:\s*${CHASSIS_ID}
^Neighbor\sManagement-Address\s:\s*${MGMT_ADDR}
^Chassis\sCapabilities\sAvailable\s*:\s*${CAPABILITIES}
^Chassis\sCapabilities\sEnabled\s*:\s*${CAPABILITIES_ENABLED}
^Neighbor\sPort-ID\s:\s*${PORT_ID}
^Neighbor\sPort-Desc\s:\s*${PORT_DESC}
^-+$$ -> Record
^Neighbor.*
^TTL.*
^P[D|SE].*
^Power.*
^\s+ -> Next
^\S+#.* -> Next
^LLDP.*
^Total.*
^=+
^. -> Error

SAMPLE COMMAND OUTPUT

Due to software updates to the Aruba CX switches the output of some show commands has changed. This has had an impact on the template not parsing correctly.

EXPECTED RESULTS
Parsed output of data in dictionary

ACTUAL RESULTS
output is in String

Output example:
--------------------------------------------------------------------------------
LLDP Neighbor Information
=========================

Total Neighbor Entries          : 12
Total Neighbor Entries Deleted  : 0
Total Neighbor Entries Dropped  : 0
Total Neighbor Entries Aged-Out : 0

--------------------------------------------------------------------------------

Port                           : 1/1/1
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/2
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/3
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/4
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/5
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/6
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/7
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/8
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/9
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/10
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 12.3123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : eth0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/11
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : AP3-4-3
Neighbor System-Description    : ArubaOS (MODEL: 315), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, WLAN
Chassis Capabilities Enabled   : WLAN
Neighbor Port-ID               : xx:xx:xx:xx:xx:xx
Neighbor Port-Desc             : bond0
Neighbor Port VLAN ID          : 1
TTL                            : 120

Neighbor PoE information       : DOT3
Neighbor Power Type            : Type 2 PD
Neighbor Power Priority        : Unknown
Neighbor Power Source          : PSE
PD Requested Power Value       : 20.80 W
PSE Allocated Power Value      : 20.80 W
Neighbor Power Supported       : No
Neighbor Power Enabled         : No
Neighbor Power Class           : Class4
Neighbor Power Paircontrol     : No
PSE Power Pairs                : SIGNAL
Neighbor Power Down Request    :
PD Associated TLV              : dot3
PD Requested TLV types         : dot3

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

--------------------------------------------------------------------------------

Port                           : 1/1/12
Neighbor Entries               : 1
Neighbor Entries Deleted       : 0
Neighbor Entries Dropped       : 0
Neighbor Entries Aged-Out      : 0
Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : HP J9851A Switch 5412Rzl2, revision KB.16.10.0020, ROM KB.16.01.0009 (/ws/swbuildm/rel_ajanta_qaoff/code/build/bom(swbuildm_rel_ajanta_qaoff_rel_ajanta))
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx
Neighbor Management-Address    : 123.123.123.123
Chassis Capabilities Available : Bridge, Router
Chassis Capabilities Enabled   : Bridge
Neighbor Port-ID               : 106
Neighbor Port-Desc             : D10
Neighbor Port VLAN ID          : 61
TTL                            : 120

Neighbor PoE information       : DOT3
Neighbor Power Type            : PSE
Neighbor Power Priority        : Unknown
Neighbor Power Source          : Unknown
PD Requested Power Value       : 0.00 W
PSE Allocated Power Value      : 0.00 W
Neighbor Power Supported       : Yes
Neighbor Power Enabled         : Yes
Neighbor Power Class           : Class0
Neighbor Power Paircontrol     : No
PSE Power Pairs                : SIGNAL
Neighbor Power Down Request    :
PD Associated TLV              : dot3
PD Requested TLV types         : None

Neighbor Mac-Phy details
Neighbor Auto-neg Supported    : true
Neighbor Auto-Neg Enabled      : true
Neighbor Auto-Neg Advertised   : 1000 BASE_TFD, 100 BASE_TXFD, 100 BASE_TX, 10 BASET_FD, 10 BASE_T
Neighbor MAU type              : 1000 BASETFD

Neighbor EEE information       : DOT3
Neighbor TX Wake time          : 0 us
Neighbor RX Wake time          : 0 us
Neighbor Fallback time         : 0 us
Neighbor TX Echo time          : 0 us
Neighbor RX Echo time          : 0 us

@mjbear
Copy link
Contributor

mjbear commented Sep 3, 2023

@ryanmCUK
It just so happens I'm working on normalizing CDP/LLDP capture group names (for fun, or OCD, haha). Some Aruba templates are among those I'm editing.

This bug could be something I attempt to squash once that is complete.
Edit: Though this appears to be possibly a "show interfaces" output of sorts? Which template name exactly?

By chance could you edit your original comment and put your example output in triple backticks ``` (or use the Code button < >) so it ends up as a code block?

(I need the real output so we're sure it parses correctly.)

@ryanmCUK
Copy link
Author

ryanmCUK commented Sep 4, 2023

Hi @mjbear
I can provide a longer output if required :)
id be interested in how you are working the regex out has i had a go and failed badly :(

Updated the output code block

@mjbear
Copy link
Contributor

mjbear commented Sep 4, 2023

I made lots of changes in #1469 so I'll end up basing any fix from this issue off of that PR.

@mjbear
Copy link
Contributor

mjbear commented Sep 4, 2023

@ryanmCUK
This one wasn't so bad.
(Again I made lots of changes in #1469 so many capture group names are different in what I'll share below.)

I took a shortcut and used https://textfsm.nornir.tech/ for some quick testing (though it only parses the first entry in the raw output).

I found was Neighbor Chassis-Name became Neighbor System-Name and likewise for the description too.

Older Raw Output:

Neighbor Chassis-Name          : ap-9999-335-fe
Neighbor Chassis-Description   : ArubaOS (MODEL: 335), Version Aruba AP
Neighbor Chassis-ID            : 70:3a:0e:cd:41:fe

Your Raw Output:

Neighbor System-Name           : SYSNAME_TEXT
Neighbor System-Description    : ArubaOS (MODEL: 503H), Version Aruba AP
Neighbor Chassis-ID            : xx:xx:xx:xx:xx:xx

My fix for this in PR #1470 is to modify the regex to match either Chassis or System (to maintain backward compatibility).

  ^Neighbor\s*(Chassis|System)-Name\s*:\s*${NEIGHBOR_NAME}
  ^Neighbor\s*(Chassis|System)-Description\s*:\s*${NEIGHBOR_DESCRIPTION}

New Parsed Output:

---
parsed_sample:
  - capabilities: "WLAN"
    capabilities_supported: "Bridge, WLAN"
    chassis_id: "xx:xx:xx:xx:xx:xx"
    local_interface: "1/1/10"
    mgmt_address: "12.3123.123.123"
    neighbor_description: "ArubaOS (MODEL: 503H), Version Aruba AP"
    neighbor_interface: "eth0"
    neighbor_name: "SYSNAME_TEXT"
    neighbor_port_id: "xx:xx:xx:xx:xx:xx"
  - capabilities: "WLAN"
    capabilities_supported: "Bridge, WLAN"
    chassis_id: "xx:xx:xx:xx:xx:xx"
    local_interface: "1/1/11"
    mgmt_address: "123.123.123.123"
    neighbor_description: "ArubaOS (MODEL: 315), Version Aruba AP"
    neighbor_interface: "bond0"
    neighbor_name: "AP3-4-3"
    neighbor_port_id: "xx:xx:xx:xx:xx:xx"
  - capabilities: "Bridge"
    capabilities_supported: "Bridge, Router"
    chassis_id: "xx:xx:xx:xx:xx:xx"
    local_interface: "1/1/12"
    mgmt_address: "123.123.123.123"
    neighbor_description: "HP J9851A Switch 5412Rzl2, revision KB.16.10.0020, ROM\
      \ KB.16.01.0009 (/ws/swbuildm/rel_ajanta_qaoff/code/build/bom(swbuildm_rel_ajanta_qaoff_rel_ajanta))"
    neighbor_interface: "D10"
    neighbor_name: "SYSNAME_TEXT"
    neighbor_port_id: "106"

@ryanmCUK
Copy link
Author

ryanmCUK commented Sep 5, 2023

I did try a parse with the new textfsm file, it didnt parse the output from the aruba cx switch :(

I have also noticed that the name of the command is:
show lldp neighbor-info detail
NOT
show lldp neighbors-info detail

I have tried changing the name of the .textfsm file and i still cant get it to parse

do you know how it uses the correct template in order to parse the data?

I am just wondering if this top part of the output is causing an issue:

LLDP Neighbor Information
=========================

Total Neighbor Entries          : 10
Total Neighbor Entries Deleted  : 0
Total Neighbor Entries Dropped  : 0
Total Neighbor Entries Aged-Out : 0

--------------------------------------------------------------------------------

@mjbear
Copy link
Contributor

mjbear commented Sep 5, 2023

I did try a parse with the new textfsm file, it didnt parse the output from the aruba cx switch :(

I have also noticed that the name of the command is: show lldp neighbor-info detail NOT show lldp neighbors-info detail

I have tried changing the name of the .textfsm file and i still cant get it to parse

The command name is the most likely cause based on the info you've provided.

do you know how it uses the correct template in order to parse the data?

The regular expressions to the right in the index file allow TextFSM to know which template file to match.

Try sending a shortened version of the command to see if that works and if so we can figure out how to tweak the index file to be compatible with old and new.

Something with the "neighbors-info" truncated such as: show lldp neighbor detail

I am just wondering if this top part of the output is causing an issue:

LLDP Neighbor Information
=========================

Total Neighbor Entries          : 10
Total Neighbor Entries Deleted  : 0
Total Neighbor Entries Dropped  : 0
Total Neighbor Entries Aged-Out : 0

--------------------------------------------------------------------------------

These lines are not the issue as there are regexes in the template that handle those early lines so they don't cause parsing to error out.

@mjbear
Copy link
Contributor

mjbear commented Sep 6, 2023

@ryanmCUK
I think you're in a time zone several hours ahead of me.

Depending on what you find from my suggestion above to use a shortened command version I'd like to share with you some changes for the index file and have you test in real-time. I figure we could hop on NTC's Slack instance.

I want to make sure I can bundle any other necessary changes into the PR I have going so it's fixed "upstream". 😉

@ryanmCUK
Copy link
Author

ryanmCUK commented Sep 7, 2023

I did try shortening the command as mentioned and that didnt seem to work still got a non-parsed output :(

yeah im UTC+1 (UK) so maybe able to try later today.

I am on the slack already so just reachout and we can have a chat :)

@mjbear
Copy link
Contributor

mjbear commented Sep 7, 2023

@ryanmCUK
There are lots of Ryans on NTC Slack. Ping me with a DM when you get a chance. I have about another hour until I'll be busy for a while.

Since the short command didn't work I planned to suggest you try testing a change to your index file to see if that jives. From there we find out if that would break your ntc-templates install. (It shouldn't since I tested this, but ... this is software, haha).

At line 82 replace with this:
aruba_aoscx_show_lldp_neighbors-info_detail.textfsm, .*, aruba_aoscx, sh[[ow]] ll[[dp]] nei[[ghbor]]s?[[-info]] d[[etail]]

Should this function for you then I'll figure my successful test against raw test data from this project and your real-world testing to be enough to say it is "good". From there I need to update unit testing to cover this and update that PR. 😀

@mjbear
Copy link
Contributor

mjbear commented Sep 8, 2023

To summarize the efforts from today, given the information I have changes in two places should be required.

  • template ntc_templates/templates/aruba_aoscx_show_lldp_neighbors-info_detail.textfsm
    -- to accommodate Neighbor Chassis-Name or System-Name
  • index ntc_templates/templates/index
    -- to accommodate the command syntax (plural vs singular on neighbor)
    -- show lldp neighbors-info detail vs show lldp neighbor-info detail

I updated PR #1470 with these changes in the meantime.

Note: It appears Aruba CX gear might echo out the prompt and command when returning output - I say this based on the previous raw output file (please understand I don't have Aruba hardware to verify).

@ryanmCUK : Since there sound to be more commands broken, pick the next most important one and please share the raw CLI output (certainly obfuscate any names/IP addresses/MAC addresses/etc). Hopefully we can find a pattern and identify a trend.

Each command whose template needs updating will be its own PR (pull request) based on NTC rules. (Just in case we end up with several PRs and people wonder why.)

Have a great weekend!

@mjbear
Copy link
Contributor

mjbear commented Jan 7, 2024

@ryanmCUK
Please post a status update when you have a chance. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants