root@qfx10k# show interfaces em0
description management;
unit 0 {
family inet {
address 192.168.1.68/24;
}
}
Without em in interfaces.yaml, parse_config fails:
Traceback (most recent call last):
File "./test.py", line 16, in <module>
running_config.parse_config(native=[config], profile=["junos"])
File "/home/cspeidel/develop/napalm-yang/napalm_yang/base.py", line 247, in parse_config
parser.parse()
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 111, in parse
self._parse(self._yang_name, self.model, self.mapping[self._yang_name])
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 117, in _parse
self._parse_container(attribute, model, mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 172, in _parse_container
self._parse(k, v, mapping[v._yang_name])
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 119, in _parse
self._parse_list(attribute, model, mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 217, in _parse_list
self._parse(key, obj, element_mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 117, in _parse
self._parse_container(attribute, model, mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 172, in _parse_container
self._parse(k, v, mapping[v._yang_name])
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 117, in _parse
self._parse_container(attribute, model, mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 172, in _parse_container
self._parse(k, v, mapping[v._yang_name])
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 121, in _parse
self._parse_leaf(attribute, model, mapping)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parser.py", line 229, in _parse_leaf
value = self.parser.parse_leaf(attribute, mapping["_process"], self.bookmarks)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parsers/base.py", line 162, in parse_leaf
result = self._parse_leaf_default(attribute, m, data)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parsers/xml.py", line 29, in _parse_leaf_default
return super()._parse_leaf_default(attribute, mapping, data)
File "/home/cspeidel/develop/napalm-yang/napalm_yang/parsers/jsonp.py", line 118, in _parse_leaf_default
d = mapping["map"][d.lower()]
KeyError: u'em'
Coverage increased (+3.6%) to 87.66% when pulling 8b314915deb9299b003b12cb19d9041a169d05fb on cspeidel:cspeidel/add-em0-interface into d98bee4207e56597ddfffa564c921c6200f04cbe on napalm-automation:develop.
My qfx has an em interface:
Without em in interfaces.yaml, parse_config fails:
This commit fixes the KeyError for em interfaces.