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

CLI documentation example #18

Closed jabelk closed 4 years ago

jabelk commented 5 years ago

For the CLI tool, not sure how to get parser output working, the example in docs is incomplete, and toying with it was not yielding results:

(rosetta_yangify) interfaces$ ntc_rosetta print-parser ios openconfig-interfaces:interfaces
Traceback (most recent call last):
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/bin/ntc_rosetta", line 10, in <module>
    sys.exit(run())
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/cli/__init__.py", line 13, in run
    cli(obj={})
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/cli/print_processor.py", line 22, in print_parser
    d = get_driver(driver, model)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/__init__.py", line 17, in get_driver
    return mapping[model][driver]
KeyError: 'openconfig-interfaces:interfaces'
(rosetta_yangify) interfaces$ ntc_rosetta print-parser ios /openconfig-network-instance:network-instances/network-instance/vlans
Traceback (most recent call last):
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/bin/ntc_rosetta", line 10, in <module>
    sys.exit(run())
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/cli/__init__.py", line 13, in run
    cli(obj={})
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/cli/print_processor.py", line 22, in print_parser
    d = get_driver(driver, model)
  File "/Users/jabelk/.virtualenvs/rosetta_yangify/lib/python3.7/site-packages/ntc_rosetta/__init__.py", line 17, in get_driver
    return mapping[model][driver]
KeyError: '/openconfig-network-instance:network-instances/network-instance/vlans'
(rosetta_yangify) interfaces$ ntc_rosetta print-parser ios
Usage: ntc_rosetta print-parser [OPTIONS] DRIVER MODEL
Try "ntc_rosetta print-parser --help" for help.

Error: Missing argument "MODEL".
(rosetta_yangify) interfaces$

what format is the model input supposed to be?