A config file that loads fine in 1.2-rolling-20190623 fails to load after somewhere around 1.2-rolling-201908* with the error:
load /mnt/vyos-config/config.boot-busted Traceback (most recent call last): File "/opt/vyatta/etc/config-migrate/migrate/dns-forwarding/0-to-1", line 34, in <module> config = ConfigTree(config_file) File "/usr/lib/python3/dist-packages/vyos/configtree.py", line 167, in __init__ raise ValueError("Failed to parse config: {0}".format(msg)) ValueError: Failed to parse config: lexing: empty token Loading configuration from '/mnt/vyos-config/config.boot-busted' Called process error: Command '['/opt/vyatta/etc/config-migrate/migrate/dns-forwarding/0-to-1', '/tmp/tmpuyo4w_hq']' returned non-zero exit status 1.. [edit]
I first encountered this on an upgrade but it also fails when loading the saved config into the latest 1.3-rolling-201910180142.
Looking at the relevant parts of ConfigTree reveals that it's a wrapper around a compiled C library so I'm at a loss at how to debug this.
I can't provide the unredacted config for testing unfortunately so I can't provide a way to reproduce this. I have the redacted config with all IPs changed with x.x.x.x that I can provide but it's quite large so not possible to manually make usable IMO.
I tried to test it via python console but I can't get the module to work (in python3 ran >>> c = vyos.configtree.ConfigTree(""" desc "a->b" """), I get NameError: name 'vyos' is not defined)