This repository was archived by the owner on Sep 17, 2019. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 44
This repository was archived by the owner on Sep 17, 2019. It is now read-only.
napalm --optional_args, ValueError: malformed string #309
Copy link
Copy link
Open
Description
Hello,
I'm getting "ValueError: malformed string" when using --optional_args to connect to a device via telnet.
I'm using the develop branches of both napalm-base (e21f10f) and napalm-ios.
I can make it work by removing the ast.literal_eval() call here:
napalm-base/napalm_base/clitools/helpers.py
Lines 124 to 125 in e21f10f
| return {x.split('=')[0]: ast.literal_eval(x.split('=')[1]) | |
| for x in optional_args.split(',')} |
Python 2.7.6:
$ napalm -u user --vendor ios 192.0.2.1 --optional_args "transport=telnet,port=23" call get_arp_table
Enter password:
Traceback (most recent call last):
File "/home/pierky/.virtualenvs/project/bin/napalm", line 11, in <module>
sys.exit(main())
File "/home/pierky/napalm-base/napalm_base/clitools/cl_napalm.py", line 285, in main
run_tests(args)
File "/home/pierky/napalm-base/napalm_base/clitools/cl_napalm.py", line 252, in run_tests
optional_args = helpers.parse_optional_args(args.optional_args)
File "/home/pierky/napalm-base/napalm_base/clitools/helpers.py", line 125, in parse_optional_args
for x in optional_args.split(',')}
File "/home/pierky/napalm-base/napalm_base/clitools/helpers.py", line 125, in <dictcomp>
for x in optional_args.split(',')}
File "/usr/lib/python2.7/ast.py", line 80, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python2.7/ast.py", line 79, in _convert
raise ValueError('malformed string')
ValueError: malformed string
Python 3.4.0:
$ napalm -u user --vendor ios 192.0.2.1 --optional_args "transport=telnet,port=23" call get_arp_table
Enter password:
Traceback (most recent call last):
File "/home/pierky/.virtualenvs/project/bin/napalm", line 11, in <module>
sys.exit(main())
File "/home/pierky/napalm-base/napalm_base/clitools/cl_napalm.py", line 285, in main
run_tests(args)
File "/home/pierky/napalm-base/napalm_base/clitools/cl_napalm.py", line 252, in run_tests
optional_args = helpers.parse_optional_args(args.optional_args)
File "/home/pierky/napalm-base/napalm_base/clitools/helpers.py", line 125, in parse_optional_args
for x in optional_args.split(',')}
File "/home/pierky/napalm-base/napalm_base/clitools/helpers.py", line 125, in <dictcomp>
for x in optional_args.split(',')}
File "/usr/lib/python3.4/ast.py", line 84, in literal_eval
return _convert(node_or_string)
File "/usr/lib/python3.4/ast.py", line 83, in _convert
raise ValueError('malformed node or string: ' + repr(node))
ValueError: malformed node or string: <_ast.Name object at 0x7fdecf726b70>
Metadata
Metadata
Assignees
Labels
No labels