@itspngu reported an error via Slack while migrating a config from 1.3 LTS -> 1.4-rolling. The error is a general one which can also be triggered in 1.3 presumably.
cpo@LR1.wue3# load /config/config.boot2 Loading configuration from '/config/config.boot2' Traceback (most recent call last): File "/opt/vyatta/etc/config-migrate/migrate/flow-accounting/0-to-1", line 34, in <module> config = ConfigTree(config_file) File "/usr/lib/python3/dist-packages/vyos/configtree.py", line 142, in __init__ raise ValueError("Failed to parse config: {0}".format(msg)) ValueError: Failed to parse config: Syntax error on line 337, character 39: Invalid syntax. Migration script error: /opt/vyatta/etc/config-migrate/migrate/flow-accounting/0-to-1: Command '['/opt/vyatta/etc/config-migrate/migrate/flow-accounting/0-to-1', '/tmp/tmpcs26v53e']' returned non-zero exit status 1..
To reproduce you need a configuration that is beeing migrated
login { user vyos{ authentication { plaintext-password vyos public-keys "foo:1 2 3" { key AAAAB3NzaC1yc2EAAAADAQABAAAAgQCt+jpJ6JBNHQDTPkeTNN37m1BFrxQ6jlXfPPiRv4rGeVR/LZRxu6u6vz33z8jddBbnwoYtL+8xlbntfzZsBYXvHuj9kf4fk9aWuUacKaIibYaRPsGoOQhYciEqoT+pGiLGMpx+4xoQmevN7DEeJgwF9iY34nsMEF/s8qPiYiamWQ== type ssh-rsa } } full-name vyos } }
The error is with the line public-keys "foo:1 2 3" that is allowed from the CLI (regex does not prohibit whitespaces, but it also triggers the exception in ConfigTree().
This error may happen on every tagNode instance (most of them prevent whitespaces - SSH does not).