networktocode / ntc-rosetta

The missing bridge between industry standard CLIs and YANG
https://ntc-rosetta.readthedocs.io/en/latest/index.html
Apache License 2.0
103 stars 23 forks source link

Junos parsing XML error #16

Closed jabelk closed 5 years ago

jabelk commented 5 years ago

Getting the following error when trying to parse, with validate=false already:

rosetta_parse_native_to_data_model**********************************************
* junos_device ** changed : False **********************************************
vvvv rosetta_parse_native_to_data_model ** changed : False vvvvvvvvvvvvvvvvvvvvv ERROR
Traceback (most recent call last):
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/nornir/core/task.py", line 67, in start
    r = self.task(self, **self.params)
  File "demo-basic-nornir.py", line 84, in rosetta_parse_native_to_data_model
    ntc_rosetta_data = rosetta_device_driver.parse(native={"dev_conf": task.host["native_config"]},validate=False)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/drivers/base.py", line 77, in parse
    root = parser.process(validate=validate)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/yangify/parser/__init__.py", line 345, in process
    self.yy.init()
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/parsers/openconfig/junos/__init__.py", line 22, in init
    self.root_native["dev_conf"]
  File "src/lxml/etree.pyx", line 3222, in lxml.etree.fromstring
  File "src/lxml/parser.pxi", line 1877, in lxml.etree._parseMemoryDocument
  File "src/lxml/parser.pxi", line 1758, in lxml.etree._parseDoc
  File "src/lxml/parser.pxi", line 1068, in lxml.etree._BaseParser._parseUnicodeDoc
  File "src/lxml/parser.pxi", line 601, in lxml.etree._ParserContext._handleParseResultDoc
  File "src/lxml/parser.pxi", line 711, in lxml.etree._handleParseResult
  File "src/lxml/parser.pxi", line 640, in lxml.etree._raiseParseError
  File "<string>", line 2
lxml.etree.XMLSyntaxError: Start tag expected, '<' not found, line 2, column 1

Output needs to be in XML format, not curly bracket style, FYI. By default napalm backup gets it in curly bracket style