Parsing Issues while using "genie learn OSPF" feature on NXOX device (7.0(3)I4(7))
See original GitHub issueGetting the following parsing error:
SchemaUnsupportedKeyError: vrf.default.address_family.ipv4.instance.10.areas.0.1.1.1.interfaces.Vlan10.authentication.auth_trailer_key_chain: Unsupported keys: ['key']
while using genie learn OSPF feature and parsing the following config:
interface Vlan10
no shutdown
mtu 9192
no ip redirects
ip address 10.116.0.2/26
ip router ospf 10 area 0.1.1.1
ip dhcp relay address 10.10.10.12
ip dhcp relay address 10.10.10.13
vrrp 10
priority 200
no preempt
address 10.116.0.1
no shutdown
!
interface Ethernet1/49
description "L3 link between tor01 and agg01"
no switchport
mtu 9192
bfd interval 300 min_rx 300 multiplier 3
no ip redirects
ip address 10.x.x.x/31
ip ospf authentication message-digest
ip ospf message-digest-key 1 md5 3 <snipped>
ip ospf network point-to-point
ip router ospf 10 area 0.1.1.1
ip ospf bfd
no shutdown
!
router ospf 10
router-id 10.x.x.x
area 0.1.1.1 nssa
area 0.1.1.1 authentication message-digest
The error that’s generated:
TASK [Learn Genie - OSPF] ******************************************************************************************************************************An exception occurred during task execution. To see the full traceback, use -vvv. The error was: genie.metaparser.util.exceptions.SchemaUnsupportedKeyError: vrf.default.address_family.ipv4.instance.10.areas.0.1.1.1.interfaces.Vlan10.authentication.auth_trailer_key_chain: Unsupported keys: ['key']
fatal: [tor01]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n File \"/root/.ansible/tmp/ansible-tmp-1618797193.8988864-493-27162700229745/AnsiballZ_learn_genie.py\", line 102, in <module>\n _ansiballz_main()\n File \"/root/.ansible/tmp/ansible-tmp-1618797193.8988864-493-27162700229745/AnsiballZ_learn_genie.py\", line 94, in _ansiballz_main\n invoke_module(zipped_mod, temp_path, ANSIBALLZ_PARAMS)\n File \"/root/.ansible/tmp/ansible-tmp-1618797193.8988864-493-27162700229745/AnsiballZ_learn_genie.py\", line 40, in invoke_module\n runpy.run_module(mod_name='ansible_collections.clay584.genie.plugins.modules.learn_genie', init_globals=None, run_name='__main__', alter_sys=True)\n File \"/usr/local/lib/python3.9/runpy.py\", line 210, in run_module\n return _run_module_code(code, init_globals, run_name, mod_spec)\n File \"/usr/local/lib/python3.9/runpy.py\", line 97, in _run_module_code\n _run_code(code, mod_globals, init_globals,\n File \"/usr/local/lib/python3.9/runpy.py\", line 87, in _run_code\n exec(code, run_globals)\n File \"/tmp/ansible_learn_genie_payload_eqnkj3eu/ansible_learn_genie_payload.zip/ansible_collections/clay584/genie/plugins/modules/learn_genie.py\", line 367, in <module>\n File \"/tmp/ansible_learn_genie_payload_eqnkj3eu/ansible_learn_genie_payload.zip/ansible_collections/clay584/genie/plugins/modules/learn_genie.py\", line 363, in main\n File \"/tmp/ansible_learn_genie_payload_eqnkj3eu/ansible_learn_genie_payload.zip/ansible_collections/clay584/genie/plugins/modules/learn_genie.py\", line 299, in run_module\n File \"src/genie/conf/base/device.py\", line 597, in genie.conf.base.device.Device.learn\n File \"/root/.local/lib/python3.9/site-packages/genie/libs/ops/ospf/nxos/ospf.py\", line 1044, in learn\n self.make(final_call=True)\n File \"/root/.local/lib/python3.9/site-packages/genie/ops/base/base.py\", line 101, in make\n self.maker.make(*args, **kwargs)\n File \"src/genie/ops/base/maker.py\", line 312, in genie.ops.base.maker.Maker.make\n File \"src/genie/ops/base/maker.py\", line 418, in genie.ops.base.maker.Maker._call_parser\n File \"src/genie/metaparser/_metaparser.py\", line 290, in genie.metaparser._metaparser.MetaParser.parse\n File \"src/genie/metaparser/_metaparser.py\", line 285, in genie.metaparser._metaparser.MetaParser.parse\n File \"src/genie/metaparser/util/schemaengine.py\", line 305, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 276, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 305, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 276, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 305, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 276, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 305, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 276, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 375, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 349, in genie.metaparser.util.schemaengine.Schema.validate\n File \"src/genie/metaparser/util/schemaengine.py\", line 410, in genie.metaparser.util.schemaengine.Schema.validate\ngenie.metaparser.util.exceptions.SchemaUnsupportedKeyError: vrf.default.address_family.ipv4.instance.10.areas.0.1.1.1.interfaces.Vlan10.authentication.auth_trailer_key_chain: Unsupported keys: ['key']\n", "module_stdout": "", "msg": "MODULE FAILURE\nSee stdout/stderr for the exact error", "rc": 1}
Issue Analytics
- State:
- Created 2 years ago
- Comments:7
Top Results From Across the Web
Parsing Issues while using "genie learn OSPF" feature on ...
Getting the following parsing error: SchemaUnsupportedKeyError: ... while using "genie learn OSPF" feature on NXOX device (7.0(3)I4(7)) #13.
Read more >Genie Learn — Genie Documentation - DevNet
genie learn is a powerful tool that can be extensively used to accomplish stateful network validation across multiple devices, with one linux command....
Read more >Troubleshooting Cisco Nexus Switches and NX-OS
Problems with Intermixed RFC 1583 and RFC 2328 Devices 499 ... Starting with NX-OS Version 7.0(3)I2(2a), the packet tracer utility was introduced on...
Read more >NX-OSv problems with basic BFD - Cisco Community
Hi all! I am testing N9k in virtual environment: NX-OSv9K is a demo version of the Nexus Operating System Software BIOS: version NXOS: ......
Read more >Mastering Python Networking - Third Edition
skills because it helps you learn these topics within the context of networking. The book starts with using Python for basic network device...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Thank you. I’ve been able to make and push a fix for this internally. It will be released externally at the end of the month
Lo0 interface config: