CiscoTestAutomation / genieparser

sub-component of Genie that parse the device output into structured datastructure
Apache License 2.0
251 stars 388 forks source link

SchemaEmptyParserError: Parser Output is empty #433

Closed loukut closed 3 years ago

loukut commented 3 years ago

Having an issue with the Parser show ap dot11 5ghz summary it provides and output of SchemaEmptyParserError: Parser Output is empty. I'm running this on the WLC 9800 controller. I think it may have an extra column at the end if I look at the source parser it doesn't seem to search for the channel column?

2021-04-21 09:17:44,056: %UNICON-INFO: +++ DO_MC_WLC_9800 with alias 'cli': executing command 'show ap dot11 5ghz summary' +++ show ap dot11 5ghz summary AP Name Mac Address Slot Admin State Oper State Width Txpwr Channel Mode

BHS-A-204 00a7.42b0.2420 1 Enabled Up 20 3/7 (12 dBm) (124) Local
BHS-D-105 f80b.cbb3.bb80 1 Enabled Up 20 1/8 (22 dBm) (36) Local

DO_MC_WLC_9800#

SchemaEmptyParserError Traceback (most recent call last)

in ----> 1 wlcController.parse("show ap dot11 5ghz summary") --output ~/Documents/Python/9800Inventory/.venv/lib/python3.7/site-packages/genie/conf/base/device.cpython-37m-darwin.so in genie.conf.base.device.Device.parse() ~/Documents/Python/9800Inventory/.venv/lib/python3.7/site-packages/genie/conf/base/device.cpython-37m-darwin.so in genie.conf.base.device.Device._get_parser_output() ~/Documents/Python/9800Inventory/.venv/lib/python3.7/site-packages/genie/metaparser/_metaparser.cpython-37m-darwin.so in genie.metaparser._metaparser.MetaParser.parse() ~/Documents/Python/9800Inventory/.venv/lib/python3.7/site-packages/genie/metaparser/_metaparser.cpython-37m-darwin.so in genie.metaparser._metaparser.MetaParser.parse() ~/Documents/Python/9800Inventory/.venv/lib/python3.7/site-packages/genie/metaparser/util/schemaengine.cpython-37m-darwin.so in genie.metaparser.util.schemaengine.Schema.validate() SchemaEmptyParserError: Parser Output is empty
kazemy commented 3 years ago

Hi @loukut - Thank you for reaching out. Just to confirm - This is on IOSXE. Right? Also could you please forward the exact cli command input and the output.

loukut commented 3 years ago

yes iosxe specifically Cisco IOS XE Software, Version 17.03.02a I think this is what you are looking for do you need it in a text file? DO_MC_WLC_9800#show ap dot11 5ghz summary AP Name Mac Address Slot Admin State Oper State Width Txpwr Channel Mode

A-AP13-A204 00a7.42b0.2420 1 Enabled Up 20 3/7 (12 dBm) (124) Local
A-Media-South 00a7.42f1.2a60 1 Enabled Up 20 3/7 (12 dBm) (132) Local
Gymnastics-East f80b.cbae.2660 1 Enabled Up 20 5/8 (10 dBm) (36) Local
Gymnastics-West f80b.cbae.2a60 1 Enabled Up 20 4/7 (10 dBm) (112) Local
D-Dance-Room f80b.cbb3.bb80 1 Enabled Up 20 1/8 (22 dBm) (36) Local

DO_MC_WLC_9800#

kazemy commented 3 years ago

Yes... this is sufficient. Thank you for sending it. I will look into it and will reply back.

alalinaci commented 3 years ago

I'm having a similar issue with show environment power on iosxr C8000. CLI Output:

    Sat Apr 24 17:34:54.612 UTC
    ================================================================================
    CHASSIS LEVEL POWER INFO: 0
    ================================================================================
    Total output power capacity (Group 0 + Group 1) :    1000W +     1000W
    Total output power required                     :    1400W
    Total power input                               :     223W
    Total power output                              :     141W

    Power Group 0:
    ================================================================================
    Power       Supply         ------Input----   ------Output---     Status
    Module      Type            Volts     Amps    Volts     Amps    
    ================================================================================
    0/PM0       PSU2KW-ACPI     118.0     1.1     12.0      7.7      OK

    Total of Group 0:              129W/1.1A         92W/7.7A

    Power Group 1:
    ================================================================================
    Power       Supply         ------Input----   ------Output---     Status
    Module      Type            Volts     Amps    Volts     Amps    
    ================================================================================
    0/PM1       PSU2KW-ACPI     117.5     0.8     12.1      4.1      OK

    Total of Group 1:               94W/0.8A         49W/4.1A

    ================================================================================
    Location     Card Type               Power       Power        Status
                                            Allocated   Used
                                            Watts       Watts
    ================================================================================
    0/RP0/CPU0   8201-SYS                1275        -            ON
    0/FT0        FAN-1RU-PI              25          -            ON
    0/FT1        FAN-1RU-PI              25          -            ON
    0/FT2        FAN-1RU-PI              25          -            ON
    0/FT3        FAN-1RU-PI              25          -            ON
    0/FT4        FAN-1RU-PI              25          -            ON

Error:

Traceback (most recent call last):
  File "tester.py", line 12, in <module>
    output = device.parse("show environment power")
  File "src/genie/conf/base/device.py", line 522, in genie.conf.base.device.Device.parse
  File "src/genie/conf/base/device.py", line 549, in genie.conf.base.device.Device._get_parser_output
  File "src/genie/metaparser/_metaparser.py", line 290, in genie.metaparser._metaparser.MetaParser.parse
  File "src/genie/metaparser/_metaparser.py", line 285, in genie.metaparser._metaparser.MetaParser.parse
  File "src/genie/metaparser/util/schemaengine.py", line 222, in genie.metaparser.util.schemaengine.Schema.validate
genie.metaparser.util.exceptions.SchemaEmptyParserError: Parser Output is empty
kazemy commented 3 years ago

Hi @alalinaci, Please open a separate ticket for your issue. Thank you!

kazemy commented 3 years ago

Hi @loukut - A PR for the fix is submitted and is being reviewed. I will let you know when review is complete.

Thank you!

kazemy commented 3 years ago

Hi @loukut - Pull request review is complete and it is merged. The fix will be available in our next general release. Thank you!